From: Subject: Unicauca Webmail :: Mail Date: Thu, 2 Dec 2010 15:06:05 -0500 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0011_01CB9232.716D7510" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0011_01CB9232.716D7510 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: =?utf-8?Q?mhtml:file://E:\JUERI2-_DISCO_LO?= =?utf-8?Q?CAL_D\TODOS_LOS_ANTERIORES\DAIRA?= =?utf-8?Q?\A=C3=91O_2010\CONVOCATORIAS_PUBLICAS?= =?utf-8?Q?\Adenda_2_Unisalud_conv._030.mht?= =EF=BB=BF Unicauca Webmail :: = Mail
3D"[webmail
Nombre del archivo [unknown] [descarg= ar]
Tama=C3=B1o del archivo 25 KB
------=_NextPart_000_0011_01CB9232.716D7510 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: https://www.unicauca.edu.co/rc1/skins/defaulthjs/images/escudo1.jpg /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCABKADEDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD++rUt U0zRrSTUNX1Gw0qwhKCa91K7t7G0iLsEQSXN1JFChdyFQM43MQoySBX5gftAf8Ffv2RPgB4x0zwd fazr3j6S4HxSsNe8Q+BbSxvfDHgrxR8MtDOtL4W8UajqWoabcC/8avDf6T4MvPD9jr+m6tqmmahb rdL9mkZfzj/4LUfFHx/f/tL/ALP/AMHf+Ezi8HfDDw74di8fyQaNpUvi7VvF3jDWfEtnoGoeG/EP gm6hm0nWtJm8GpqcGmW11p3iFbmXUr2KCy88yabrHzn8Pv2I/Dvx+s7D4c+Gvg/o114t+KPhm1+O t34n+Nt/4s8PeJ9OvtX1fxbps9/4Vm+F/jLwn4Yt7fRoNGs/D/hvVNW8ByeM0hj1fztQ8NxC28N6 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 ------=_NextPart_000_0011_01CB9232.716D7510 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://www.unicauca.edu.co/rc1/skins/defaulthjs/common.css BODY { BACKGROUND-COLOR: #f6f6f6; MARGIN: 8px; COLOR: #000000 } BODY.iframe { BACKGROUND-COLOR: #fff; MARGIN: 0px } BODY.extwin { MARGIN: 10px } BODY { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } TD { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } TH { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } SPAN { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } DIV { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } P { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } H3 { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } TH { FONT-WEIGHT: normal } H3 { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 18px } A { OUTLINE-STYLE: none; COLOR: #000000 } A:active { OUTLINE-STYLE: none; COLOR: #000000 } A:visited { OUTLINE-STYLE: none; COLOR: #000000 } A.button { COLOR: #000000; TEXT-DECORATION: none } A.button:visited { COLOR: #000000; TEXT-DECORATION: none } A.tab { COLOR: #000000; TEXT-DECORATION: none } A.tab:visited { COLOR: #000000; TEXT-DECORATION: none } A.axislist { COLOR: #000000; TEXT-DECORATION: none } A.tab { TEXT-ALIGN: center; WIDTH: 80px; DISPLAY: block } HR { BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: = #666666; BORDER-TOP-STYLE: none; HEIGHT: 1px; BORDER-LEFT-STYLE: none } #rcmfd_email { BORDER-BOTTOM-COLOR: #666666; PADDING-BOTTOM: 1px; BORDER-RIGHT-WIDTH: = 1px; BACKGROUND-COLOR: #ffffff; BORDER-TOP-COLOR: #666666; PADDING-LEFT: = 3px; PADDING-RIGHT: 3px; DISPLAY: none; FONT-FAMILY: "Lucida Grande", = Verdana, Arial, Helvetica, sans-serif; BORDER-TOP-WIDTH: 1px; = BORDER-BOTTOM-WIDTH: 1px; BORDER-RIGHT-COLOR: #666666; FONT-SIZE: 9pt; = BORDER-LEFT-COLOR: #666666; BORDER-LEFT-WIDTH: 1px; PADDING-TOP: 1px } INPUT { BORDER-BOTTOM: #666666 1px solid; BORDER-LEFT: #666666 1px solid; = PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 3px; = PADDING-RIGHT: 3px; FONT-FAMILY: "Lucida Grande", Verdana, Arial, = Helvetica, sans-serif; FONT-SIZE: 9pt; BORDER-TOP: #666666 1px solid; = BORDER-RIGHT: #666666 1px solid; PADDING-TOP: 1px } TEXTAREA { BORDER-BOTTOM: #666666 1px solid; BORDER-LEFT: #666666 1px solid; = PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 3px; = PADDING-RIGHT: 3px; FONT-FAMILY: "Lucida Grande", Verdana, Arial, = Helvetica, sans-serif; FONT-SIZE: 9pt; BORDER-TOP: #666666 1px solid; = BORDER-RIGHT: #666666 1px solid; PADDING-TOP: 1px } INPUT[type=3D'checkbox'] { PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; = BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px } INPUT[type=3D'radio'] { PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; = BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px } INPUT.button { BORDER-BOTTOM: #a4a4a4 1px solid; BORDER-LEFT: #a4a4a4 1px solid; = PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND: = url(images/buttons/bg.gif) #f0f0f0 repeat-x; HEIGHT: 20px; COLOR: = #333333; FONT-SIZE: 12px; BORDER-TOP: #a4a4a4 1px solid; BORDER-RIGHT: = #a4a4a4 1px solid } INPUT.button:hover { COLOR: black } IMG { BEHAVIOR: url('skins/default/pngbehavior.htc') } .alttext { FONT-SIZE: 11px } .hint { COLOR: #666; FONT-SIZE: 11px } #header { Z-INDEX: 100; POSITION: absolute; WIDTH: 170px; HEIGHT: 40px; TOP: = 10px; LEFT: 20px } #taskbar { Z-INDEX: 2; POSITION: absolute; TEXT-ALIGN: right; PADDING-BOTTOM: = 10px; PADDING-LEFT: 0px; WIDTH: 600px; PADDING-RIGHT: 14px; WHITE-SPACE: = nowrap; BACKGROUND: url(images/taskbar.gif) no-repeat right top; HEIGHT: = 37px; TOP: 0px; RIGHT: 0px; PADDING-TOP: 10px } #taskbar A { PADDING-BOTTOM: 6px; PADDING-LEFT: 30px; PADDING-RIGHT: 16px; = BACKGROUND-REPEAT: no-repeat; COLOR: #666666; FONT-SIZE: 11px; = TEXT-DECORATION: none; PADDING-TOP: 6px } #taskbar A:active { PADDING-BOTTOM: 6px; PADDING-LEFT: 30px; PADDING-RIGHT: 16px; = BACKGROUND-REPEAT: no-repeat; COLOR: #666666; FONT-SIZE: 11px; = TEXT-DECORATION: none; PADDING-TOP: 6px } #taskbar A:visited { PADDING-BOTTOM: 6px; PADDING-LEFT: 30px; PADDING-RIGHT: 16px; = BACKGROUND-REPEAT: no-repeat; COLOR: #666666; FONT-SIZE: 11px; = TEXT-DECORATION: none; PADDING-TOP: 6px } #taskbar A:hover { COLOR: #333333 } A.button-mail { BACKGROUND-IMAGE: url(images/buttons/mail.gif) } A.button-addressbook { BACKGROUND-IMAGE: url(images/buttons/addressbook.gif) } A.button-settings { BACKGROUND-IMAGE: url(images/buttons/settings.gif) } A.button-logout { BACKGROUND-IMAGE: url(images/buttons/logout.gif) } #message { Z-INDEX: 5000; POSITION: absolute; DISPLAY: none; TOP: -1px; RIGHT: = 200px; LEFT: 200px; opacity: 0.85 } #message DIV { PADDING-BOTTOM: 8px; MARGIN: 0px auto; MIN-HEIGHT: 24px; PADDING-LEFT: = 46px; WIDTH: 400px; PADDING-RIGHT: 10px; HEIGHT: 24px; PADDING-TOP: 8px } #message DIV.notice { BORDER-BOTTOM: #c2d071 1px solid; BORDER-LEFT: #c2d071 1px solid; = BACKGROUND: url(images/display/info.png) #f7fdcb no-repeat 6px 3px; = BORDER-TOP: #c2d071 1px solid; BORDER-RIGHT: #c2d071 1px solid } #remote-objects-message { BORDER-BOTTOM: #c2d071 1px solid; BORDER-LEFT: #c2d071 1px solid; = BACKGROUND: url(images/display/info.png) #f7fdcb no-repeat 6px 3px; = BORDER-TOP: #c2d071 1px solid; BORDER-RIGHT: #c2d071 1px solid } #message DIV.error { BORDER-BOTTOM: #dc5757 1px solid; BORDER-LEFT: #dc5757 1px solid; = BACKGROUND: url(images/display/warning.png) #ef9398 no-repeat 6px 3px; = BORDER-TOP: #dc5757 1px solid; BORDER-RIGHT: #dc5757 1px solid } #message DIV.warning { BORDER-BOTTOM: #dc5757 1px solid; BORDER-LEFT: #dc5757 1px solid; = BACKGROUND: url(images/display/warning.png) #ef9398 no-repeat 6px 3px; = BORDER-TOP: #dc5757 1px solid; BORDER-RIGHT: #dc5757 1px solid } #message DIV.confirmation { BORDER-BOTTOM: #76c83f 1px solid; BORDER-LEFT: #76c83f 1px solid; = BACKGROUND: url(images/display/confirm.png) #a6ef7b no-repeat 6px 3px; = BORDER-TOP: #76c83f 1px solid; BORDER-RIGHT: #76c83f 1px solid } #message DIV.loading { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = BACKGROUND: url(images/display/loading.gif) #ebebeb no-repeat 6px 3px; = BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid } .splitter { POSITION: absolute; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; = PADDING-RIGHT: 2px; BACKGROUND: url(images/dimple.png) no-repeat center = 50%; PADDING-TOP: 2px } .splitter-h { BACKGROUND-POSITION: center 2px; CURSOR: n-resize } .splitter-v { BACKGROUND-POSITION: 1px center; CURSOR: e-resize } .boxtitle { BACKGROUND-IMAGE: url(images/listheader_aqua.gif); BORDER-BOTTOM: #999 = 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #ebebeb; PADDING-LEFT: = 20px; PADDING-RIGHT: 20px; HEIGHT: 12px !important; COLOR: #333; = FONT-SIZE: 11px; FONT-WEIGHT: bold; PADDING-TOP: 4px } .radios-left LABEL { PADDING-LEFT: 0.3em } TABLE.records-table THEAD TR TD { BACKGROUND-IMAGE: url(images/listheader_aqua.gif); BORDER-BOTTOM: = #999999 1px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ebebeb; = PADDING-LEFT: 4px; PADDING-RIGHT: 4px; HEIGHT: 20px; COLOR: #333333; = FONT-SIZE: 11px; VERTICAL-ALIGN: middle; FONT-WEIGHT: bold; PADDING-TOP: = 0px } TABLE.records-table TBODY TR TD { BORDER-BOTTOM: #ebebeb 1px solid; TEXT-ALIGN: left; PADDING-BOTTOM: = 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; WHITE-SPACE: nowrap; HEIGHT: = 16px; FONT-SIZE: 11px; OVERFLOW: hidden; PADDING-TOP: 2px } TABLE.records-table TR { BACKGROUND-COLOR: #ffffff } TABLE.records-table TR.selected TD { BACKGROUND-COLOR: #cc3333; COLOR: #ffffff } TABLE.records-table TR.focused TD { =09 } TABLE.records-table TR.unfocused TD { BACKGROUND-COLOR: #929292; COLOR: #ffffff } #quicksearchbar { POSITION: absolute; TEXT-ALIGN: right; WIDTH: 182px; BACKGROUND: = url(images/searchfield.gif) no-repeat left top; HEIGHT: 20px; TOP: 60px; = RIGHT: 30px } #quicksearchbar A { POSITION: absolute; TOP: 3px; RIGHT: 4px; TEXT-DECORATION: none } #quicksearchbar IMG { VERTICAL-ALIGN: middle } #quicksearchbox { POSITION: absolute; BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; = BORDER-RIGHT-STYLE: none; PADDING-LEFT: 0px; WIDTH: 140px; = PADDING-RIGHT: 0px; BORDER-TOP-STYLE: none; FONT-SIZE: 11px; = BORDER-LEFT-STYLE: none; TOP: 2px; PADDING-TOP: 0px; LEFT: 20px } UNKNOWN { BACKGROUND-IMAGE: none } UNKNOWN { TOP: 5px } UNKNOWN { WIDTH: 180px; TOP: 0px; RIGHT: 1px; LEFT: auto } #rcversion { POSITION: absolute; TEXT-ALIGN: center; FONT-VARIANT: small-caps; = WIDTH: 160px; COLOR: #999999; FONT-SIZE: x-small; TOP: 67px; = FONT-WEIGHT: normal; LEFT: 20px } #rcmdraglayer { BORDER-BOTTOM: #999999 1px solid; FILTER: = progid:DXImageTransform.Microsoft.Alpha(opacity=3D70); BORDER-LEFT: = #999999 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #f9f9f9; = PADDING-LEFT: 8px; WIDTH: 300px; PADDING-RIGHT: 8px; FONT-SIZE: 11px; = BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px solid; = PADDING-TOP: 3px; opacity: 0.7; -moz-opacity: 0.7 } A.rcmContactAddress { TEXT-DECORATION: none } A.rcmContactAddress:hover { TEXT-DECORATION: underline } #rcmKSearchpane { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = BACKGROUND-COLOR: #f9f9f9; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: = #cccccc 1px solid } #rcmKSearchpane UL { PADDING-BOTTOM: 2px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 2px; PADDING-RIGHT: 2px; LIST-STYLE-IMAGE: none; PADDING-TOP: 2px } #rcmKSearchpane UL LI { PADDING-LEFT: 8px; PADDING-RIGHT: 8px; WHITE-SPACE: nowrap; HEIGHT: = 16px; FONT-SIZE: 11px; PADDING-TOP: 2px } #rcmKSearchpane UL LI.selected { BACKGROUND-COLOR: #cc3333; COLOR: #ffffff } ------=_NextPart_000_0011_01CB9232.716D7510 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://www.unicauca.edu.co/rc1/skins/defaulthjs/mail.css #messagetoolbar { POSITION: absolute; WHITE-SPACE: nowrap; HEIGHT: 35px; TOP: 36px; = RIGHT: 200px; LEFT: 200px } #messagetoolbar A { PADDING-RIGHT: 10px } #messagetoolbar SELECT { FONT-FAMILY: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; = COLOR: #333333; FONT-SIZE: 11px } #messagetoolbar SELECT.mboxlist { POSITION: absolute; TOP: 10px; LEFT: 375px } #messagetoolbar SELECT.mboxlist OPTION { PADDING-LEFT: 15px } #messagetoolbar SELECT.mboxlist OPTION[value=3D'0'] { PADDING-LEFT: 2px } #markmessagemenu { Z-INDEX: 240; BORDER-BOTTOM: #ccc 1px solid; POSITION: absolute; = BORDER-LEFT: #ccc 1px solid; PADDING-BOTTOM: 1px; BACKGROUND-COLOR: = #f9f9f9; PADDING-LEFT: 1px; WIDTH: auto; PADDING-RIGHT: 1px; VISIBILITY: = hidden; BORDER-TOP: #ccc 1px solid; TOP: 32px; BORDER-RIGHT: #ccc 1px = solid; PADDING-TOP: 1px; LEFT: 90px; opacity: 0.9 } #markmessagemenu2 { Z-INDEX: 240; BORDER-BOTTOM: #ccc 1px solid; POSITION: absolute; = BORDER-LEFT: #ccc 1px solid; PADDING-BOTTOM: 1px; BACKGROUND-COLOR: = #f9f9f9; PADDING-LEFT: 1px; WIDTH: auto; PADDING-RIGHT: 1px; VISIBILITY: = hidden; BORDER-TOP: #ccc 1px solid; TOP: 50px; BORDER-RIGHT: #ccc 1px = solid; PADDING-TOP: 1px; LEFT: 90px; opacity: 0.9 } UL.toolbarmenu { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px } UL.toolbarmenu LI { MIN-WIDTH: 130px; WIDTH: auto !important; WHITE-SPACE: nowrap; = FONT-SIZE: 11px } UL.toolbarmenu LI A { PADDING-BOTTOM: 3px; PADDING-LEFT: 12px; PADDING-RIGHT: 8px; DISPLAY: = block; COLOR: #a0a0a0; TEXT-DECORATION: none; PADDING-TOP: 2px } UL.toolbarmenu LI A.active:hover { BACKGROUND-COLOR: #ddd } #listcontrols { POSITION: absolute; WIDTH: 500px; HEIGHT: 16px; FONT-SIZE: 11px; TOP: = 100px; LEFT: 200px } #listcontrols A { COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none } #listcontrols A:active { COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none } #listcontrols A:visited { COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none } #mailboxcontrols A { COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none } #mailboxcontrols A:active { COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none } #mailboxcontrols A:visited { COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none } TD.formlinks A { COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none } TD.formlinks A:visited { COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none } #listcontrols A.active { COLOR: #cc0000 } #listcontrols A.active:active { COLOR: #cc0000 } #listcontrols A.active:visited { COLOR: #cc0000 } #mailboxcontrols A.active { COLOR: #cc0000 } #mailboxcontrols A.active:active { COLOR: #cc0000 } #mailboxcontrols A.active:visited { COLOR: #cc0000 } UL.toolbarmenu LI A.active { COLOR: #cc0000 } UL.toolbarmenu LI A.active:active { COLOR: #cc0000 } UL.toolbarmenu LI A.active:visited { COLOR: #cc0000 } TD.formlinks A { COLOR: #cc0000 } TD.formlinks A:visited { COLOR: #cc0000 } #listcontrols A.active:hover { TEXT-DECORATION: underline } #mailboxcontrols A.active:hover { TEXT-DECORATION: underline } #messagecountbar { POSITION: absolute; TEXT-ALIGN: right; WIDTH: 300px; BOTTOM: 16px; = WHITE-SPACE: nowrap; HEIGHT: 20px; RIGHT: 30px } #messagecountbar SPAN { COLOR: #333333; FONT-SIZE: 11px } #messagepartcontainer { POSITION: absolute; BOTTOM: 20px; TOP: 80px; RIGHT: 20px; LEFT: 20px } #mailcontframe { BORDER-BOTTOM: #999999 1px solid; POSITION: absolute; BORDER-LEFT: = #999999 1px solid; BACKGROUND-COLOR: #f9f9f9; ; WIDTH: = expression((parseInt(document.documentElement.clientWidth)-230)+'px'); = BOTTOM: 40px; ; HEIGHT: = expression((parseInt(document.documentElement.clientHeight)-125)+'px'); = OVERFLOW: auto; BORDER-TOP: #999999 1px solid; TOP: 115px; RIGHT: 30px; = BORDER-RIGHT: #999999 1px solid; LEFT: 200px } #mailpreviewframe { BORDER-BOTTOM: #999999 1px solid; POSITION: absolute; BORDER-LEFT: = #999999 1px solid; BACKGROUND-COLOR: #f9f9f9; ; WIDTH: = expression((parseInt(document.documentElement.clientWidth)-230)+'px'); = BOTTOM: 40px; ; HEIGHT: = expression((parseInt(document.documentElement.clientHeight)-135-document.= getElementById('mailcontframe').offsetHeight)+'px'); BORDER-TOP: #999999 = 1px solid; TOP: 305px; RIGHT: 30px; BORDER-RIGHT: #999999 1px solid; = LEFT: 200px } #messagecontframe { POSITION: absolute; ; WIDTH: = expression((parseInt(document.documentElement.clientWidth)-230)+'px'); = BOTTOM: 0px; ; HEIGHT: = expression((parseInt(document.documentElement.clientHeight)-135-document.= getElementById('mailcontframe').offsetHeight)+'px'); TOP: 0px; RIGHT: = 0px; LEFT: 0px } #messagepartframe { BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; = BACKGROUND-COLOR: #f9f9f9; WIDTH: 100%; HEIGHT: 100%; ; HEIGHT: = expression(parseInt(document.getElementById('messagepartcontainer').offse= tHeight)+'px'); BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px = solid } #partheader { POSITION: absolute; HEIGHT: 40px; TOP: 10px; LEFT: 220px } #partheader TABLE TD { PADDING-LEFT: 2px; PADDING-RIGHT: 4px; FONT-SIZE: 11px; VERTICAL-ALIGN: = middle } #partheader TABLE TD.title { COLOR: #666666; FONT-WEIGHT: bold } #mailboxlist-header { BACKGROUND-IMAGE: url(images/listheader_aqua.gif); BORDER-BOTTOM: #999 = 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #ebebeb; MARGIN: 0px; = PADDING-LEFT: 10px; PADDING-RIGHT: 10px; DISPLAY: block; HEIGHT: 12px; = COLOR: #333333; FONT-SIZE: 11px; FONT-WEIGHT: bold; PADDING-TOP: 3px } #mailboxlist-container { BORDER-BOTTOM: #999 1px solid; POSITION: absolute; BORDER-LEFT: #999 = 1px solid; BACKGROUND-COLOR: #f9f9f9; WIDTH: 160px; BOTTOM: 40px; ; = HEIGHT: = expression((parseInt(document.documentElement.clientHeight)-125)+'px'); = OVERFLOW: auto; BORDER-TOP: #999 1px solid; TOP: 128px; BORDER-RIGHT: = #999 1px solid; LEFT: 20px } #redactarMensaje { POSITION: absolute; BACKGROUND-COLOR: #f9f9f9; WIDTH: 160px; BOTTOM: = 40px; ; HEIGHT: = expression((parseInt(document.documentElement.clientHeight)-125)+'px'); = OVERFLOW: auto; TOP: 85px; LEFT: 20px } #mailboxlist { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; WIDTH: 100%; PADDING-RIGHT: 0px; WHITE-SPACE: nowrap; HEIGHT: auto; = OVERFLOW: hidden; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px } #mailboxlist LI { BORDER-BOTTOM: #ebebeb 1px solid; BACKGROUND: = url(images/icons/folder-closed.png) no-repeat 10px 1px; FONT-SIZE: 11px } #mailboxlist LI.inbox { BACKGROUND-IMAGE: url(images/icons/folder-inbox.png) } #mailboxlist LI.drafts { BACKGROUND-IMAGE: url(images/icons/folder-drafts.png) } #mailboxlist LI.sent { BACKGROUND-IMAGE: url(images/icons/folder-sent.png) } #mailboxlist LI.junk { BACKGROUND-IMAGE: url(images/icons/folder-junk.png) } #mailboxlist LI.trash { BACKGROUND-IMAGE: url(images/icons/folder-trash.png) } #mailboxlist LI A { PADDING-BOTTOM: 2px; PADDING-LEFT: 32px; DISPLAY: block; = TEXT-DECORATION: none; PADDING-TOP: 2px } #mailboxlist LI.unread { FONT-WEIGHT: bold } #mailboxlist LI.selected { BACKGROUND-COLOR: #929292 } #mailboxlist LI.droptarget LI.selected { BACKGROUND-COLOR: #929292 } #mailboxlist LI.selected > A { COLOR: #fff; FONT-WEIGHT: bold } #mailboxlist LI.droptarget LI.selected A { COLOR: #fff; FONT-WEIGHT: bold } #mailboxlist LI.droptarget { BACKGROUND-COLOR: #ffffa6 } #mailboxlist UL { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #f9f9f9; LIST-STYLE-TYPE: none; = MARGIN: 0px; PADDING-LEFT: 15px; PADDING-RIGHT: 0px; = BACKGROUND-POSITION: 25px 1px; COLOR: blue; BORDER-TOP: #ebebeb 1px = solid; FONT-WEIGHT: normal; PADDING-TOP: 0px } #mailboxcontrols { POSITION: absolute; WIDTH: 170px; BOTTOM: 20px; HEIGHT: 16px; = FONT-SIZE: 11px; OVERFLOW: hidden; LEFT: 20px } BODY.messagelist { BACKGROUND-COLOR: #f9f9f9; MARGIN: 0px } #messagelist { WIDTH: 100%; ; WIDTH: = expression(parseInt(document.getElementById('mailcontframe').clientWidth)= +'px'); DISPLAY: table; TABLE-LAYOUT: fixed } UNKNOWN { TABLE-LAYOUT: auto } #messagelist THEAD TR TD { BACKGROUND-IMAGE: url(images/listheader_aqua.gif); BORDER-BOTTOM: = #999999 1px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ebebeb; = PADDING-LEFT: 2px; PADDING-RIGHT: 4px; HEIGHT: 20px; COLOR: #333333; = FONT-SIZE: 11px; VERTICAL-ALIGN: middle; FONT-WEIGHT: bold; PADDING-TOP: = 0px } #messagelist THEAD TR TD.sortedASC { BACKGROUND-IMAGE: url(images/listheader_dark.gif) } #messagelist THEAD TR TD.sortedDESC { BACKGROUND-IMAGE: url(images/listheader_dark.gif) } #messagelist THEAD TR TD.sortedASC A { BACKGROUND: url(images/sort_asc.gif) no-repeat right top } #messagelist THEAD TR TD.sortedDESC A { BACKGROUND: url(images/sort_desc.gif) no-repeat right top } #messagelist THEAD TR TD A { WIDTH: auto !important; DISPLAY: block; COLOR: #333333; = TEXT-DECORATION: none } #messagelist TBODY TR TD { BORDER-BOTTOM: #ebebeb 1px solid; PADDING-BOTTOM: 2px; PADDING-LEFT: = 2px; TEXT-OVERFLOW: ellipsis; PADDING-RIGHT: 4px; WHITE-SPACE: nowrap; = HEIGHT: 16px; FONT-SIZE: 11px; OVERFLOW: hidden; CURSOR: pointer; = PADDING-TOP: 2px } #messagelist TBODY TR TD A { WHITE-SPACE: nowrap; COLOR: #000; TEXT-DECORATION: none } #messagelist COL { TEXT-ALIGN: left; DISPLAY: table-column; VERTICAL-ALIGN: middle } #messagelist TR TD.icon { WIDTH: 16px; VERTICAL-ALIGN: middle } #messagelist TR TD.subject { VERTICAL-ALIGN: middle; OVERFLOW: hidden } #messagelist TR TD.size { TEXT-ALIGN: right; WIDTH: 70px; VERTICAL-ALIGN: middle } #messagelist TR TD.from { WIDTH: 180px; VERTICAL-ALIGN: middle } #messagelist TR TD.to { WIDTH: 180px; VERTICAL-ALIGN: middle } #messagelist TR TD.date { WIDTH: 118px; VERTICAL-ALIGN: middle } #messagelist TR.message { BACKGROUND-COLOR: #ffffff } #messagelist TR.unread { BACKGROUND-COLOR: #ffffff; FONT-WEIGHT: bold } #messagelist TR.selected TD { BACKGROUND-COLOR: #cc3333; COLOR: #ffffff } #messagelist TR.unfocused TD { BACKGROUND-COLOR: #929292; COLOR: #ffffff } #messagelist TR.selected TD A { COLOR: #ffffff } #messagelist TR.unfocused TD A { COLOR: #ffffff } #messagelist TR.deleted TD A { COLOR: #cccccc } #messagelist TR.deleted TD { COLOR: #cccccc } #messagelist TR.deleted TD A { COLOR: #cccccc } #quotadisplay { COLOR: #666666; FONT-SIZE: 11px } #quotadisplay IMG { BORDER-BOTTOM: #666666 1px solid; BORDER-LEFT: #666666 1px solid; = MARGIN-LEFT: 4px; VERTICAL-ALIGN: middle; BORDER-TOP: #666666 1px solid; = BORDER-RIGHT: #666666 1px solid } #messageframe { BORDER-BOTTOM: #999 1px solid; POSITION: absolute; BORDER-LEFT: #999 = 1px solid; BACKGROUND-COLOR: #fff; ; WIDTH: = expression((parseInt(document.documentElement.clientWidth)-230)+'px'); = BOTTOM: 40px; ; HEIGHT: = expression((parseInt(document.documentElement.clientHeight)-125)+'px'); = OVERFLOW: auto; BORDER-TOP: #999 1px solid; TOP: 85px; RIGHT: 30px; = BORDER-RIGHT: #999 1px solid; LEFT: 200px } DIV.messageheaderbox { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; MARGIN: 6px = 8px 0px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid } TABLE.headers-table { BACKGROUND-COLOR: #ebebeb; WIDTH: 100%; TABLE-LAYOUT: fixed } #messagebody TABLE.headers-table { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = BACKGROUND-COLOR: #f4f4f4; MARGIN: 6px 8px; WIDTH: auto; BORDER-TOP: = #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid } TABLE.headers-table TR TD { BORDER-BOTTOM: #ffffff 1px solid; FONT-SIZE: 11px } TABLE.headers-table TD.header-title { TEXT-ALIGN: right; WIDTH: 80px; PADDING-RIGHT: 4px; WHITE-SPACE: = nowrap; COLOR: #666666; FONT-WEIGHT: bold } TABLE.headers-table TR TD.subject { WIDTH: 95%; FONT-WEIGHT: bold } #attachment-list { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; MIN-HEIGHT: = 18px; PADDING-LEFT: 68px; PADDING-RIGHT: 0px; BACKGROUND: = url(images/icons/attachment.png) #dfdfdf no-repeat 52px 1px; ; HEIGHT: = expression(Math.min(18, parseInt(this.clientHeight))+'px'); = LIST-STYLE-IMAGE: none; PADDING-TOP: 0px } #attachment-list:after { DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; = FONT-SIZE: 0px; CONTENT: "." } #attachment-list LI { PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FLOAT: = left; HEIGHT: 18px; FONT-SIZE: 11px; PADDING-TOP: 2px } #attachment-list LI A { TEXT-DECORATION: none } #attachment-list LI A:hover { TEXT-DECORATION: underline } #messagebody { POSITION: relative; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; = MIN-HEIGHT: 300px } DIV.message-part { PADDING-BOTTOM: 10px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; = BORDER-TOP: #ccc 1px solid; PADDING-TOP: 10px } #messagebody DIV:first-child { BORDER-TOP-WIDTH: 0px } DIV.message-part A { COLOR: #0000cc } DIV.message-part DIV.pre { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: monospace; WHITE-SPACE: pre; PADDING-TOP: 0px } DIV.message-part BLOCKQUOTE { BORDER-LEFT: blue 2px solid; PADDING-BOTTOM: 1px; BACKGROUND-COLOR: = #f6f6f6; MARGIN: 2px 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 8px; COLOR: = blue; BORDER-RIGHT: blue 2px solid; PADDING-TOP: 1px } DIV.message-part BLOCKQUOTE BLOCKQUOTE { BORDER-LEFT: green 2px solid; COLOR: green; BORDER-RIGHT: green 2px = solid } DIV.message-part BLOCKQUOTE BLOCKQUOTE BLOCKQUOTE { BORDER-LEFT: #bb0000 2px solid; COLOR: #990000; BORDER-RIGHT: #bb0000 = 2px solid } #remote-objects-message { PADDING-BOTTOM: 6px; MARGIN: 8px 8px 0px; MIN-HEIGHT: 20px; = PADDING-LEFT: 46px; PADDING-RIGHT: 10px; DISPLAY: none; HEIGHT: 20px; = PADDING-TOP: 10px } #remote-objects-message A { PADDING-LEFT: 10px; COLOR: #666666 } #remote-objects-message A:hover { COLOR: #333333 } #priority-selector { PADDING-LEFT: 30px } #receipt-selector { PADDING-LEFT: 30px } #compose-container { POSITION: absolute; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: = 0px; ; WIDTH: = expression((parseInt(document.documentElement.clientWidth)-240)+'px'); = BOTTOM: 40px; PADDING-RIGHT: 0px; ; HEIGHT: = expression((parseInt(document.documentElement.clientHeight)-130)+'px'); = TOP: 90px; RIGHT: 40px; PADDING-TOP: 0px; LEFT: 200px } #compose-headers { WIDTH: 100% } #compose-headers TD.top { VERTICAL-ALIGN: top } #compose-headers TD.title { WIDTH: 80px !important; PADDING-RIGHT: 10px; WHITE-SPACE: nowrap; = COLOR: #666666; FONT-SIZE: 11px; FONT-WEIGHT: bold } #compose-subject TD.title { WIDTH: 80px !important; PADDING-RIGHT: 10px; WHITE-SPACE: nowrap; = COLOR: #666666; FONT-SIZE: 11px; FONT-WEIGHT: bold } #compose-body { WIDTH: 100%; ; WIDTH: expression('99%') } #compose-headers TD TEXTAREA { WIDTH: 100%; ; WIDTH: expression('99%') } #compose-headers TD INPUT { WIDTH: 100%; ; WIDTH: expression('99%') } #compose-headers TD TEXTAREA { HEIGHT: 38px } #compose-cc { DISPLAY: none } #compose-bcc { DISPLAY: none } #compose-replyto { DISPLAY: none } #compose-body { MARGIN-TOP: 5px; MIN-HEIGHT: 280px; FONT-FAMILY: "Courier New", = Courier, monospace; MARGIN-BOTTOM: 10px; HEIGHT: 90%; FONT-SIZE: 9pt } #compose-attachments { POSITION: absolute; WIDTH: 160px; TOP: 100px; LEFT: 20px } #compose-attachments UL { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #f9f9f9; LIST-STYLE-TYPE: none; = MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: #cccccc = 1px solid; LIST-STYLE-IMAGE: none; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 0px } #compose-attachments UL LI { BORDER-BOTTOM: #ebebeb 1px solid; PADDING-LEFT: 2px; PADDING-RIGHT: = 4px; WHITE-SPACE: nowrap; HEIGHT: 18px; FONT-SIZE: 11px; OVERFLOW: = hidden; PADDING-TOP: 2px } #attachment-title { PADDING-BOTTOM: 3px; PADDING-LEFT: 22px; PADDING-RIGHT: 0px; = BACKGROUND: url(images/icons/attachment.png) no-repeat left top; = PADDING-TOP: 0px } #attachment-form { Z-INDEX: 200; BORDER-BOTTOM: #cccccc 1px solid; POSITION: absolute; = BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 8px; BACKGROUND-COLOR: = #f9f9f9; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; VISIBILITY: hidden; = BORDER-TOP: #cccccc 1px solid; TOP: 150px; BORDER-RIGHT: #cccccc 1px = solid; PADDING-TOP: 8px; LEFT: 20px } #attachment-form INPUT.button { MARGIN-TOP: 8px } ------=_NextPart_000_0011_01CB9232.716D7510 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: https://www.unicauca.edu.co/rc1/?_task=mail&_action=get&_mbox=INBOX&_uid=8235&_part=3 JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu Zyhlcy1DTykgL1N0cnVjdFRyZWVSb290IDE2IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+ Pg0KZW5kb2JqDQoyIDAgb2JqDQo8PC9UeXBlL1BhZ2VzL0NvdW50IDEvS2lkc1sgMyAwIFJdID4+ DQplbmRvYmoNCjMgMCBvYmoNCjw8L1R5cGUvUGFnZS9QYXJlbnQgMiAwIFIvUmVzb3VyY2VzPDwv Rm9udDw8L0YxIDUgMCBSL0YyIDkgMCBSL0YzIDExIDAgUi9GNCAxMyAwIFI+Pi9YT2JqZWN0PDwv SW1hZ2U3IDcgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4+ L01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQgMCBSL0dyb3VwPDwvVHlwZS9Hcm91 cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1MvU3RydWN0UGFyZW50cyAwPj4N CmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMjk5Pj4NCnN0 cmVhbQ0KeJy1Ws1u40YSvhvwO/SRDOI2+4d/iyDAjKwMFNiSx9ZkD04Oikx7tZAlr6QZIHm0vEHO eYI55pDTvsBWVTfJblEtyxntDCBRZHV1/XXVV0Wfv1ltZg+T6YZ98835m81mMv1Xdc/uzsfL55/O x788V+fXk8fZYrKZLRfffsveXvTY2/Hpyfl3ggnJxg+nJ4Il8F8wlQsuFct0ytOCjZ9OTxL2iB/v Tk/uIhb/xMbfn570YTEyqFcVKReJZpnSPDerfNr/AAee0D9VlsQ9YxlsLYRgq+r05J9fsQWwk6Vh CHelllymlnQKHM8HT5PHKmcXS/b+9IT1r3oM2JYJF1qzNM+4YFoJXiiWplw6XNn5NZrlqje4YMn5 5WTxyKJqfda/ja0pDmNjDCa3DSZUygtQRiZcZlb1N7GU0UV8lkf9+ExGQ7yCnyI3T9jwt/hMRyxx LPSejPT3xZBC8Sz1xZDH5A+MVe7zZ0flr3iRbptRgbEuR2A5Gd2iJdn49/hMRTdXcRoNhqNbMuNF n+H3YPhDnEeDuIjG8VlhLN0b/DFk17BSm983jhMu4XZir4+oiBAJzyAekozrWpFh/x1KP+oNYH/h iNYbDb9HhT4MY41iCyt3rdNVrEwIXQx6rej2LhhlOB7dMmRwTT87OvaRySW7RZIBWWvcv2qsc1y1 BTouLSVqb9RGw0c3I/oajFAG0At8xEgS0uvdh5tBLBJzWMyxYbcjfEy2Ks29S1RERUNcKK2al6jG h4uYAuCSjHDzO5l5cNUf4kZnxsnCOtkE0FGPXMm1gJUFJgCjMjly8EOj383tgNzXqtcnZxjPkEht tDoBcNk3sX1EcVUJS0pf3C3+dV51M6awSZLKQFGCdzHPC65YwnVhPnDvh69efGxlN4+t7B5BKgUv i3Z9XpbFaymsDMZA9KQxj/cYyooMqxB83tifnu9RohGARPRkaCjqPYJ67iPpeEruqm2hYID0lKQs zbRX5v2I6Oygwjuo7R0sJEjTpIUElAmWGP8rOLCyKKKn+CyLKrxzjx+zWFgCfF4Kc7dybswndKGi Z2JTxWW0pucL/NjAZVqTTuLMWb+of00cbmuX9WwBteNhCQd49bRN6F7Pl2srwxJ4PlBKrxppHDmI rEDGm0aMVbWeQPEiSUjRteXaCPkCxkpVhpFhDPrcyAn4bzoDxs4drCCFb8HUGjAFUy8+gbqzDdFO Z/9dWMsByaqaT6boKkCLYI1J455Jy6YCSRddrmQCzyQLzGNTciwt/zqknyogUoSv33yyNnzXs0eQ 9iPFSEWibuB3VRsQJLDxMJ2tZ7E17aJR3dL8gqXmJfsCEBGp3Z/Cc+mHp9FuNjUa7eYFQBaTrMdr aqxp5ang8oGiZLr5SEZ2w3PNJljY5jZCNvDwT9KPAnO2WFJ4kTb3eIneYDPS9xPe3XLrP0Imz3Ne pr6YexOADiWAbSMmJVcHcUxfkbREorDoldCaGN6QEBPIiOPpXSR4yBUAjJPMX0UrtuNgRw4TkIW9 De9MVZ8ziraP9ZHdLM3h2WbY1SAreOozFMiEF8SgdzMajt5BYN80eAHQmshquIaBh2DnGs/Uzahn sMToAE1UDrgs93eG5Bc6iSlXpU8cPrUFz5RP+/KpwVD+HOCoteZJftjuWudcb+1uDtBfYMVQ2Oss Q5Aa3KETpNkrgtSeAF0Inh/EPK8BFtArAlkCaj5wgNqfKGiMJAJrxcusBSmWIqNeXSEqgChvoYFK EkSmwef1+jTnMt+5Q91e76SEU5GHGuzCalObwYggBUSUL0PHDmXbjR+0q7G/7h6xlOe4MehTusjm zXQz+4QHZ3Y/wa97H/t2gW9yHIGwTcjzHQIdAr5r9K0g9RVlGxMQwML3WE0R8nkqc57IfTFj1tcq dneoY2In5b6YELLRIschQhMUJY4s9keFUK0XDto44AVVFlyIHV4gTDqfYP79dbl+KSb0caTRAHKg 4h4cE04ICo0Zz4aglrzQIavvLK2HctqP6jWOB4UrOJUxU8uoF8c+30DhVfUYN9DRw6Pz2XrT4B4D dQjSYK2wZWPRQKJ5BSAu8+Dsdm/8JYqV2igGDV3uKWZw5fIT4Nqq2buVeFURgLfQ8hnDaLW8ByBO 4GCKKLWG+f8PcQUAOE9c09HMqynAzQYDbxn5uKKIXPF0lyjH3ibDRvLFbd53E1W9HZ3QvUdmZ6E/ lFMIetmktxVZDnaVomOpL9pQJrwQO0K565Av2wZisKvXHUSabelNb4J9qaYOhXDhz02n7LQuEq8S uKIM0p2Lf4mcWpWYq140x858n79+4qFBVhVM6t0tigN7KlWAHuUhiFKUh7IEOJHXLC+9kYTIhXWk 9dvnTurwuqwUSrr0GVLadicUcT0VqDew/ThdT9t0ZboGCptlPWZo12XC3FnSrITWrpft8IQI6DdF 2r8rbJ7rkVKr1VYB8bvijBe5r8velibQZUCwlmKHSaArh6qwcETaO5fQWYIAw+Pz3M6TnkCdiT/t mCK7Q+dJCsBYWfM1wwNsPh9rK7nzrP3TDo9TMFCUokBxaVtRgwOPtoyaKYeJDgMMnuLUFbWeC1lK G0wTgh5ZDTMCnlcpji084UJzBaUKPI5Bpbvj2Z3vHnd5RBeYWA9hKQ5lqTTWIOegNwNN2YzO1jXE 2bKjIXppmircaSrQrwkAracrnEr+7A4hpRDOPvbG22Y0/Fh7CSX47HC84D3+NV0bRBMeSQg6eK3O Tq29X4acrxPTGbnLdg6K2gX51oK76McomA0Evn3xiJMgbb6lgP8u16OFKpxtCxGTUS3WxklIaE6p MW3n/uqgfUyj49GGc5bq0LbBM0fxktIZ/q9tIcBIqKvOS3kLUE7q8Q5mYoHjkMxfMaue8L2bg0ZC i3WC8La7nQtcAkvz7aXuwDK4qlA4APdW0YrghLPIKaW6Eu5PG695U1SbO8lwinEI9+BbomYiogXX JZOl5GXN8rvZgt1X9M5zXrcsrH1bfl8tzNRm199OeIcfW2rh83bPDkGyRgCIi5TKl4AW3XlDF/zj mAQPm8P8EIQng1PzMIiUebmnBvwPrKlREw0KZW5kc3RyZWFtDQplbmRvYmoNCjUgMCBvYmoNCjw8 L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL05hbWUvRjEvQmFzZUZvbnQvVGltZXMjMjBOZXcj MjBSb21hbi9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRm9udERlc2NyaXB0b3IgNiAwIFIvRmly c3RDaGFyIDMyL0xhc3RDaGFyIDMyL1dpZHRocyA1NCAwIFI+Pg0KZW5kb2JqDQo2IDAgb2JqDQo8 PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL1RpbWVzIzIwTmV3IzIwUm9tYW4vRmxhZ3Mg MzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgODkxL0Rlc2NlbnQgLTIxNi9DYXBIZWlnaHQgNjkzL0F2 Z1dpZHRoIDQwMS9NYXhXaWR0aCAyNTY4L0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQgMjUwL0xlYWRp bmcgNDIvU3RlbVYgNDAvRm9udEJCb3hbIC01NjggLTIxNiAyMDAwIDY5M10gPj4NCmVuZG9iag0K NyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTcyL0hlaWdodCAx NDgvQ29sb3JTcGFjZVsvSW5kZXhlZC9EZXZpY2VSR0IgMjU1IDggMCBSXSAvQml0c1BlckNvbXBv bmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggOTQxOD4+ DQpzdHJlYW0NCnic7ZyPXxNn9u+HotKGEENiEpIWHLrQxJQvodGmolnYYFaX2N5vXEWuUBsYvpXb W3dc62BpucxdtDjWq3exjBV7HcsaXVK+CxoW2yhKQCkbWvlKREQUwQRDSv+Ke54ElB9JwK7d7b5e PfyaTJ5M3vnMec45zzPPEB0NhmFY9A8xbMp+0Kt/8Nv9XS/+CbBiMyxSgx8ZctbbhXxSqvnN+5+A /ccvVWJoszhoP0FW1X988tXfpuyrP73/G+mcdnNYsR/D5mX95Z8eg07xvo/Pajr7cMJ/qz7+tC1P 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 ZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMi9CYXNl Rm9udC9BcmlhbCxCb2xkL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciAx MCAwIFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDIxMS9XaWR0aHMgNTUgMCBSPj4NCmVuZG9iag0K MTAgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWwsQm9sZC9GbGFn cyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3Mjgv QXZnV2lkdGggNDc5L01heFdpZHRoIDI2MjgvRm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvTGVh ZGluZyAzMy9TdGVtViA0Ny9Gb250QkJveFsgLTYyOCAtMjEwIDIwMDAgNzI4XSA+Pg0KZW5kb2Jq DQoxMSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMy9CYXNlRm9u dC9BcmlhbC9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRm9udERlc2NyaXB0b3IgMTIgMCBSL0Zp cnN0Q2hhciAzMi9MYXN0Q2hhciAyNDMvV2lkdGhzIDU2IDAgUj4+DQplbmRvYmoNCjEyIDAgb2Jq DQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FyaWFsL0ZsYWdzIDMyL0l0YWxpY0Fu Z2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NDEv TWF4V2lkdGggMjY2NS9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1W IDQ0L0ZvbnRCQm94WyAtNjY1IC0yMTAgMjAwMCA3MjhdID4+DQplbmRvYmoNCjEzIDAgb2JqDQo8 PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0Y0L0Jhc2VGb250L0FyaWFsLEJvbGRJ dGFsaWMvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDE0IDAgUi9GaXJz dENoYXIgMzIvTGFzdENoYXIgMTIyL1dpZHRocyA1NyAwIFI+Pg0KZW5kb2JqDQoxNCAwIG9iag0K PDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9BcmlhbCxCb2xkSXRhbGljL0ZsYWdzIDMy L0l0YWxpY0FuZ2xlIC0xMi9Bc2NlbnQgOTA1L0Rlc2NlbnQgLTIxMC9DYXBIZWlnaHQgNzI4L0F2 Z1dpZHRoIDQ3OS9NYXhXaWR0aCAxOTUwL0ZvbnRXZWlnaHQgNzAwL1hIZWlnaHQgMjUwL0xlYWRp bmcgMzMvU3RlbVYgNDcvRm9udEJCb3hbIC01NjAgLTIxMCAxMzkwIDcyOF0gPj4NCmVuZG9iag0K MTUgMCBvYmoNCjw8L0F1dGhvcihHZXJlbmNpYSkvQ3JlYXRvcij+/wBNAGkAYwByAG8AcwBvAGYA dACuACAATwBmAGYAaQBjAGUAIABXAG8AcgBkACAAMgAwADAANykvQ3JlYXRpb25EYXRlKEQ6MjAx MDEyMDIxMDEwNTApIC9Nb2REYXRlKEQ6MjAxMDEyMDIxMDEwNTApIC9Qcm9kdWNlcij+/wBNAGkA YwByAG8AcwBvAGYAdACuACAATwBmAGYAaQBjAGUAIABXAG8AcgBkACAAMgAwADAANyk+Pg0KZW5k b2JqDQoyNCAwIG9iag0KPDwvVHlwZS9PYmpTdG0vTiAzNy9GaXJzdCAyNjcvRmlsdGVyL0ZsYXRl RGVjb2RlL0xlbmd0aCA1NTE+Pg0Kc3RyZWFtDQp4nKVUTWsbMRC9B/If3j9YjUafEHIoPbTYBGP7 Znpw06WXNg6uA/W/70haL/ZG210I2IwtPc2bN19aQ0ET2EJbeAetQESgCLIROh0wtIfmAC0fz2CB qyBfsJGLCA7yT8PIPTsYZ8AeJsbk1bKYCBvkRMFpeR7gnJW38MQwLKwkb+GjQCyC3BuD4A0MIZIg GdEJ0oEUyakXaxVMEBuET0IlrWFT5DbASvQUDawGaQnSslgnjwXPSg7lpxF2Ej+WRL3cW+F4eGhW KRUK62bTrJrFDuobmtVPcDp7fLy/KxDVQbafE0anDK7/C9y87l/662YB6iGS5s7XOvvK7KkSIy5F Q4fff//V5idqEpul6GkIT0NMDcIXnctPhx/nBLPVdFy0Lr9mNpoMfJlx0wK/UAK6amx2pAb+PSQr DJB2qtZdWua67tLpqVbS6SPhcRihJnqPydwkzSnNWE/ygD0nM43UGDvfdFYR2fHV8EbfRFKtoKGb GAyPOjM3zqqVGTob7fmBkhJoRzFvRkruOsbpJic/AxNmYOKMsay22gBDMzAz5lvPGHBdbT5yl1Zu n09FWllUZQa0LyYUU+641KlULy3vbArSFKQpSKuKKcvPlne2a64uhu35tW02p+Pb82l7bNv14XBq Vvtj+5L/pl2eZ2vXyUki+tun9u9p0Z77tfv09vvPDnnx9xSXPd7t3rqysrJ6ZdcLYGiux3NouozY jyXm/u4fIdSfEQ0KZW5kc3RyZWFtDQplbmRvYmoNCjU0IDAgb2JqDQpbIDI1MF0gDQplbmRvYmoN CjU1IDAgb2JqDQpbIDI3OCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDI3OCAwIDU1NiA1NTYg NTU2IDAgMCAwIDAgMCA1NTYgMCAwIDAgMCAwIDAgMCAwIDcyMiAwIDcyMiA3MjIgNjY3IDYxMSA3 NzggMCAyNzggNTU2IDAgNjExIDgzMyA3MjIgNzc4IDY2NyAwIDcyMiA2NjcgNjExIDcyMiA2Njcg MCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgMCAwIDYxMSA1NTYgMCAwIDAgMjc4IDAgMCAyNzggMCA2 MTEgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMzY1IDAgMCAwIDAgMCAwIDAg MCAwIDAgMCAwIDAgMCA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgNzc4XSANCmVuZG9iag0KNTYgMCBv YmoNClsgMjc4IDAgMCAwIDAgMCAwIDAgMzMzIDMzMyAwIDAgMjc4IDAgMjc4IDAgNTU2IDU1NiA1 NTYgMCAwIDAgMCAwIDAgMCAyNzggMCAwIDAgMCAwIDAgMCA2NjcgNzIyIDcyMiA2NjcgMCAwIDAg MCAwIDAgNTU2IDAgMCAwIDY2NyAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1NiA1 NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiAwIDIyMiAyMjIgMCAyMjIgODMzIDU1NiA1NTYgNTU2IDAg MzMzIDUwMCAyNzggNTU2IDUwMCAwIDAgNTAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg MCAwIDAgNTU2IDAgMCAwIDAgMCAwIDAgNTU2IDAgMCAwIDI3OCAwIDAgMCAwIDAgNTU2XSANCmVu ZG9iag0KNTcgMCBvYmoNClsgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA3MjIgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg MCAwIDY2NyAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1NiAwIDU1NiA2MTEgMCAw IDAgMCAyNzggMCAwIDI3OCAwIDAgNjExIDAgMCAwIDU1NiAzMzMgMCA1NTYgMCAwIDAgNTAwXSAN CmVuZG9iag0KNTggMCBvYmoNCjw8L1R5cGUvWFJlZi9TaXplIDU4L1dbIDEgNCAyXSAvUm9vdCAx IDAgUi9JbmZvIDE1IDAgUi9JRFs8MkRDRDc0RDZFMEE4MUI0OEE2M0VBMjhEMjg4NkEzNDM+PDJE Q0Q3NEQ2RTBBODFCNDhBNjNFQTI4RDI4ODZBMzQzPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5n dGggMTY2Pj4NCnN0cmVhbQ0KeJw10EkOAWEQhuH6zXQb2tRNm9lLJOZ0xMJ57KxYOYIbOIDEwgmc wIn41Ust6kktvkqqRGy938Z2T+TLCR6KeSmOD0/FvSuTnTI9KLNQmRu4Kouzshwrq7ZIzK4OZABD 6EMC4mDgFxjZ+Dr1n2KQhBSkIQdZyIADAZShAC7kwYMilMCHKlSgDjVoQBNCaEEbOtCFnr0ouuhf opuy2Svbo8gHz90Tlg0KZW5kc3RyZWFtDQplbmRvYmoNCnhyZWYNCjAgNTkNCjAwMDAwMDAwMTYg NjU1MzUgZg0KMDAwMDAwMDAxNyAwMDAwMCBuDQowMDAwMDAwMTI1IDAwMDAwIG4NCjAwMDAwMDAx ODEgMDAwMDAgbg0KMDAwMDAwMDQ2NSAwMDAwMCBuDQowMDAwMDAyODM5IDAwMDAwIG4NCjAwMDAw MDMwMTEgMDAwMDAgbg0KMDAwMDAwMzI0OSAwMDAwMCBuDQowMDAwMDEyODY5IDAwMDAwIG4NCjAw MDAwMTM2ODYgMDAwMDAgbg0KMDAwMDAxMzg1MSAwMDAwMCBuDQowMDAwMDE0MDgxIDAwMDAwIG4N CjAwMDAwMTQyNDIgMDAwMDAgbg0KMDAwMDAxNDQ2NyAwMDAwMCBuDQowMDAwMDE0NjM5IDAwMDAw IG4NCjAwMDAwMTQ4NzcgMDAwMDAgbg0KMDAwMDAwMDAxNyA2NTUzNSBmDQowMDAwMDAwMDE4IDY1 NTM1IGYNCjAwMDAwMDAwMTkgNjU1MzUgZg0KMDAwMDAwMDAyMCA2NTUzNSBmDQowMDAwMDAwMDIx IDY1NTM1IGYNCjAwMDAwMDAwMjIgNjU1MzUgZg0KMDAwMDAwMDAyMyA2NTUzNSBmDQowMDAwMDAw MDI0IDY1NTM1IGYNCjAwMDAwMDAwMjUgNjU1MzUgZg0KMDAwMDAwMDAyNiA2NTUzNSBmDQowMDAw MDAwMDI3IDY1NTM1IGYNCjAwMDAwMDAwMjggNjU1MzUgZg0KMDAwMDAwMDAyOSA2NTUzNSBmDQow MDAwMDAwMDMwIDY1NTM1IGYNCjAwMDAwMDAwMzEgNjU1MzUgZg0KMDAwMDAwMDAzMiA2NTUzNSBm DQowMDAwMDAwMDMzIDY1NTM1IGYNCjAwMDAwMDAwMzQgNjU1MzUgZg0KMDAwMDAwMDAzNSA2NTUz NSBmDQowMDAwMDAwMDM2IDY1NTM1IGYNCjAwMDAwMDAwMzcgNjU1MzUgZg0KMDAwMDAwMDAzOCA2 NTUzNSBmDQowMDAwMDAwMDM5IDY1NTM1IGYNCjAwMDAwMDAwNDAgNjU1MzUgZg0KMDAwMDAwMDA0 MSA2NTUzNSBmDQowMDAwMDAwMDQyIDY1NTM1IGYNCjAwMDAwMDAwNDMgNjU1MzUgZg0KMDAwMDAw MDA0NCA2NTUzNSBmDQowMDAwMDAwMDQ1IDY1NTM1IGYNCjAwMDAwMDAwNDYgNjU1MzUgZg0KMDAw MDAwMDA0NyA2NTUzNSBmDQowMDAwMDAwMDQ4IDY1NTM1IGYNCjAwMDAwMDAwNDkgNjU1MzUgZg0K MDAwMDAwMDA1MCA2NTUzNSBmDQowMDAwMDAwMDUxIDY1NTM1IGYNCjAwMDAwMDAwNTIgNjU1MzUg Zg0KMDAwMDAwMDA1MyA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMTU3NjMgMDAw MDAgbg0KMDAwMDAxNTc5MCAwMDAwMCBuDQowMDAwMDE2MjM5IDAwMDAwIG4NCjAwMDAwMTY3NjQg MDAwMDAgbg0KMDAwMDAxNjk5NSAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDU5L1Jvb3QgMSAw IFIvSW5mbyAxNSAwIFIvSURbPDJEQ0Q3NEQ2RTBBODFCNDhBNjNFQTI4RDI4ODZBMzQzPjwyRENE NzRENkUwQTgxQjQ4QTYzRUEyOEQyODg2QTM0Mz5dID4+DQpzdGFydHhyZWYNCjE3MzYyDQolJUVP Rg0KeHJlZg0KMCAwDQp0cmFpbGVyDQo8PC9TaXplIDU5L1Jvb3QgMSAwIFIvSW5mbyAxNSAwIFIv SURbPDJEQ0Q3NEQ2RTBBODFCNDhBNjNFQTI4RDI4ODZBMzQzPjwyRENENzRENkUwQTgxQjQ4QTYz RUEyOEQyODg2QTM0Mz5dIC9QcmV2IDE3MzYyL1hSZWZTdG0gMTY5OTU+Pg0Kc3RhcnR4cmVmDQox ODY5OQ0KJSVFT0Y= ------=_NextPart_000_0011_01CB9232.716D7510 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://www.unicauca.edu.co/rc1/program/js/common.js /*=0A= = +-----------------------------------------------------------------------+=0A= | RoundCube common js library = |=0A= | = |=0A= | This file is part of the RoundCube web development suite = |=0A= | Copyright (C) 2005-2007, RoundCube Dev, - Switzerland = |=0A= | Licensed under the GNU GPL = |=0A= | = |=0A= = +-----------------------------------------------------------------------+=0A= | Author: Thomas Bruederli = |=0A= = +-----------------------------------------------------------------------+=0A= =0A= $Id: common.js 1064 2008-02-13 05:33:41Z till $=0A= */=0A= =0A= // Constants=0A= var CONTROL_KEY =3D 1;=0A= var SHIFT_KEY =3D 2;=0A= var CONTROL_SHIFT_KEY =3D 3;=0A= =0A= =0A= /**=0A= * Default browser check class=0A= * @construcotr=0A= */=0A= function roundcube_browser()=0A= {=0A= this.ver =3D parseFloat(navigator.appVersion);=0A= this.appver =3D navigator.appVersion;=0A= this.agent =3D navigator.userAgent;=0A= this.name =3D navigator.appName;=0A= this.vendor =3D navigator.vendor ? navigator.vendor : '';=0A= this.vendver =3D navigator.vendorSub ? parseFloat(navigator.vendorSub) = : 0;=0A= this.product =3D navigator.product ? navigator.product : '';=0A= this.platform =3D String(navigator.platform).toLowerCase();=0A= this.lang =3D (navigator.language) ? navigator.language.substring(0,2) = :=0A= (navigator.browserLanguage) ? = navigator.browserLanguage.substring(0,2) :=0A= (navigator.systemLanguage) ? = navigator.systemLanguage.substring(0,2) : 'en';=0A= =0A= this.win =3D (this.platform.indexOf('win')>=3D0) ? true : false;=0A= this.mac =3D (this.platform.indexOf('mac')>=3D0) ? true : false;=0A= this.linux =3D (this.platform.indexOf('linux')>=3D0) ? true : false;=0A= this.unix =3D (this.platform.indexOf('unix')>=3D0) ? true : false;=0A= =0A= this.dom =3D document.getElementById ? true : false;=0A= this.dom2 =3D (document.addEventListener && = document.removeEventListener);=0A= =0A= this.ie =3D (document.all) ? true : false;=0A= this.ie4 =3D (this.ie && !this.dom);=0A= this.ie5 =3D (this.dom && this.appver.indexOf('MSIE 5')>0);=0A= this.ie6 =3D (this.dom && this.appver.indexOf('MSIE 6')>0);=0A= =0A= this.mz =3D (this.dom && this.ver>=3D5); // (this.dom && = this.product=3D=3D'Gecko')=0A= this.ns =3D ((this.ver<5 && this.name=3D=3D'Netscape') || = (this.ver>=3D5 && this.vendor.indexOf('Netscape')>=3D0));=0A= this.ns6 =3D (this.ns && parseInt(this.vendver)=3D=3D6); // (this.mz = && this.ns) ? true : false;=0A= this.ns7 =3D (this.ns && parseInt(this.vendver)=3D=3D7); // = this.agent.indexOf('Netscape/7')>0);=0A= this.safari =3D (this.agent.toLowerCase().indexOf('safari')>0 || = this.agent.toLowerCase().indexOf('applewebkit')>0);=0A= this.konq =3D (this.agent.toLowerCase().indexOf('konqueror')>0);=0A= =0A= this.opera =3D (window.opera) ? true : false;=0A= =0A= if(this.opera && window.RegExp)=0A= this.vendver =3D = (/opera(\s|\/)([0-9\.]+)/i.test(navigator.userAgent)) ? = parseFloat(RegExp.$2) : -1;=0A= else if(!this.vendver && this.safari)=0A= this.vendver =3D = (/(safari|applewebkit)\/([0-9]+)/i.test(this.agent)) ? = parseInt(RegExp.$2) : 0;=0A= else if((!this.vendver && this.mz) || this.agent.indexOf('Camino')>0)=0A= this.vendver =3D (/rv:([0-9\.]+)/.test(this.agent)) ? = parseFloat(RegExp.$1) : 0;=0A= else if(this.ie && window.RegExp)=0A= this.vendver =3D (/msie\s+([0-9\.]+)/i.test(this.agent)) ? = parseFloat(RegExp.$1) : 0;=0A= else if(this.konq && window.RegExp)=0A= this.vendver =3D (/khtml\/([0-9\.]+)/i.test(this.agent)) ? = parseFloat(RegExp.$1) : 0;=0A= =0A= =0A= // get real language out of safari's user agent=0A= if(this.safari && (/;\s+([a-z]{2})-[a-z]{2}\)/i.test(this.agent)))=0A= this.lang =3D RegExp.$1;=0A= =0A= this.dhtml =3D ((this.ie4 && this.win) || this.ie5 || this.ie6 || = this.ns4 || this.mz);=0A= this.vml =3D (this.win && this.ie && this.dom && !this.opera);=0A= this.pngalpha =3D (this.mz || (this.opera && this.vendver>=3D6) || = (this.ie && this.mac && this.vendver>=3D5) ||=0A= (this.ie && this.win && this.vendver>=3D5.5) || = this.safari);=0A= this.opacity =3D (this.mz || (this.ie && this.vendver>=3D5.5 && = !this.opera) || (this.safari && this.vendver>=3D100));=0A= this.cookies =3D navigator.cookieEnabled;=0A= =0A= // test for XMLHTTP support=0A= this.xmlhttp_test =3D function()=0A= {=0A= var activeX_test =3D new Function("try{var o=3Dnew = ActiveXObject('Microsoft.XMLHTTP');return true;}catch(err){return = false;}");=0A= this.xmlhttp =3D (window.XMLHttpRequest || (window.ActiveXObject && = activeX_test())) ? true : false;=0A= return this.xmlhttp;=0A= }=0A= }=0A= =0A= =0A= // static functions for event handling=0A= var rcube_event =3D {=0A= =0A= /**=0A= * returns the event target element=0A= */=0A= get_target: function(e)=0A= {=0A= e =3D e || window.event;=0A= return e && e.target ? e.target : e.srcElement;=0A= },=0A= =0A= /**=0A= * returns the event key code=0A= */=0A= get_keycode: function(e)=0A= {=0A= e =3D e || window.event;=0A= return e && e.keyCode ? e.keyCode : (e && e.which ? e.which : 0);=0A= },=0A= =0A= /**=0A= * returns modifier key (constants defined at top of file)=0A= */=0A= get_modifier: function(e)=0A= {=0A= var opcode =3D 0;=0A= e =3D e || window.event;=0A= =0A= if (bw.mac && e)=0A= {=0A= opcode +=3D (e.metaKey && CONTROL_KEY) + (e.shiftKey && SHIFT_KEY);=0A= return opcode; =0A= }=0A= if (e)=0A= {=0A= opcode +=3D (e.ctrlKey && CONTROL_KEY) + (e.shiftKey && SHIFT_KEY);=0A= return opcode;=0A= }=0A= },=0A= =0A= /**=0A= * Return absolute mouse position of an event=0A= */=0A= get_mouse_pos: function(e)=0A= {=0A= if (!e) e =3D window.event;=0A= var mX =3D (e.pageX) ? e.pageX : e.clientX;=0A= var mY =3D (e.pageY) ? e.pageY : e.clientY;=0A= =0A= if (document.body && document.all)=0A= {=0A= mX +=3D document.body.scrollLeft;=0A= mY +=3D document.body.scrollTop;=0A= }=0A= =0A= return { x:mX, y:mY };=0A= },=0A= =0A= /**=0A= * Add an object method as event listener to a certain element=0A= */=0A= add_listener: function(p)=0A= {=0A= if (!p.object || !p.method) // not enough arguments=0A= return;=0A= if (!p.element)=0A= p.element =3D document;=0A= =0A= if (!p.object._rc_events)=0A= p.object._rc_events =3D [];=0A= =0A= var key =3D p.event + '*' + p.method;=0A= if (!p.object._rc_events[key])=0A= p.object._rc_events[key] =3D function(e){ return = p.object[p.method](e); };=0A= =0A= if (p.element.addEventListener)=0A= p.element.addEventListener(p.event, p.object._rc_events[key], false);=0A= else if (p.element.attachEvent)=0A= {=0A= // IE allows multiple events with the same function to be applied to = the same object=0A= // forcibly detach the event, then attach=0A= p.element.detachEvent('on'+p.event, p.object._rc_events[key]);=0A= p.element.attachEvent('on'+p.event, p.object._rc_events[key]);=0A= }=0A= else=0A= p.element['on'+p.event] =3D p.object._rc_events[key];=0A= },=0A= =0A= /**=0A= * Remove event listener=0A= */=0A= remove_listener: function(p)=0A= {=0A= if (!p.element)=0A= p.element =3D document;=0A= =0A= var key =3D p.event + '*' + p.method;=0A= if (p.object && p.object._rc_events && p.object._rc_events[key]) {=0A= if (p.element.removeEventListener)=0A= p.element.removeEventListener(p.event, p.object._rc_events[key], = false);=0A= else if (p.element.detachEvent)=0A= p.element.detachEvent('on'+p.event, p.object._rc_events[key]);=0A= else=0A= p.element['on'+p.event] =3D null;=0A= }=0A= },=0A= =0A= /**=0A= * Prevent event propagation and bubbeling=0A= */=0A= cancel: function(evt)=0A= {=0A= var e =3D evt ? evt : window.event;=0A= if (e.preventDefault)=0A= e.preventDefault();=0A= if (e.stopPropagation)=0A= e.stopPropagation();=0A= =0A= e.cancelBubble =3D true;=0A= e.returnValue =3D false;=0A= return false;=0A= }=0A= =0A= };=0A= =0A= =0A= var rcube_layer_objects =3D new Array();=0A= =0A= =0A= /**=0A= * RoundCube generic layer (floating box) class=0A= *=0A= * @constructor=0A= */=0A= function rcube_layer(id, attributes)=0A= {=0A= this.name =3D id;=0A= =0A= // create a new layer in the current document=0A= this.create =3D function(arg)=0A= {=0A= var l =3D (arg.x) ? arg.x : 0;=0A= var t =3D (arg.y) ? arg.y : 0;=0A= var w =3D arg.width;=0A= var h =3D arg.height;=0A= var z =3D arg.zindex;=0A= var vis =3D arg.vis;=0A= var parent =3D arg.parent;=0A= var obj;=0A= =0A= obj =3D document.createElement('DIV');=0A= with(obj)=0A= {=0A= id =3D this.name;=0A= with(style)=0A= {=0A= position =3D 'absolute';=0A= visibility =3D (vis) ? (vis=3D=3D2) ? 'inherit' : 'visible' : = 'hidden';=0A= left =3D l+'px';=0A= top =3D t+'px';=0A= if(w) width =3D w+'px';=0A= if(h) height =3D h+'px';=0A= if(z) zIndex =3D z;=0A= }=0A= }=0A= =0A= if(parent) parent.appendChild(obj);=0A= else document.body.appendChild(obj);=0A= =0A= this.elm =3D obj;=0A= };=0A= =0A= =0A= // create new layer=0A= if(attributes!=3Dnull)=0A= {=0A= this.create(attributes);=0A= this.name =3D this.elm.id;=0A= }=0A= else // just refer to the object=0A= this.elm =3D document.getElementById(id);=0A= =0A= =0A= if(!this.elm)=0A= return false;=0A= =0A= =0A= // ********* layer object properties *********=0A= =0A= this.css =3D this.elm.style;=0A= this.event =3D this.elm;=0A= this.width =3D this.elm.offsetWidth;=0A= this.height =3D this.elm.offsetHeight;=0A= this.x =3D parseInt(this.elm.offsetLeft);=0A= this.y =3D parseInt(this.elm.offsetTop);=0A= this.visible =3D (this.css.visibility=3D=3D'visible' || = this.css.visibility=3D=3D'show' || this.css.visibility=3D=3D'inherit') ? = true : false;=0A= =0A= this.id =3D rcube_layer_objects.length;=0A= this.obj =3D 'rcube_layer_objects['+this.id+']';=0A= rcube_layer_objects[this.id] =3D this;=0A= =0A= =0A= // ********* layer object methods *********=0A= =0A= =0A= // move the layer to a specific position=0A= this.move =3D function(x, y)=0A= {=0A= this.x =3D x;=0A= this.y =3D y;=0A= this.css.left =3D Math.round(this.x)+'px';=0A= this.css.top =3D Math.round(this.y)+'px';=0A= }=0A= =0A= =0A= // move the layer for a specific step=0A= this.shift =3D function(x,y)=0A= {=0A= x =3D Math.round(x*100)/100;=0A= y =3D Math.round(y*100)/100;=0A= this.move(this.x+x, this.y+y);=0A= }=0A= =0A= =0A= // change the layers width and height=0A= this.resize =3D function(w,h)=0A= {=0A= this.css.width =3D w+'px';=0A= this.css.height =3D h+'px';=0A= this.width =3D w;=0A= this.height =3D h;=0A= }=0A= =0A= =0A= // cut the layer (top,width,height,left)=0A= this.clip =3D function(t,w,h,l)=0A= {=0A= this.css.clip=3D'rect('+t+' '+w+' '+h+' '+l+')';=0A= this.clip_height =3D h;=0A= this.clip_width =3D w;=0A= }=0A= =0A= =0A= // show or hide the layer=0A= this.show =3D function(a)=0A= {=0A= if(a=3D=3D1)=0A= {=0A= this.css.visibility =3D 'visible';=0A= this.visible =3D true;=0A= }=0A= else if(a=3D=3D2)=0A= {=0A= this.css.visibility =3D 'inherit';=0A= this.visible =3D true;=0A= }=0A= else=0A= {=0A= this.css.visibility =3D 'hidden';=0A= this.visible =3D false;=0A= }=0A= }=0A= =0A= =0A= // write new content into a Layer=0A= this.write =3D function(cont)=0A= {=0A= this.elm.innerHTML =3D cont;=0A= }=0A= =0A= =0A= // set the given color to the layer background=0A= this.set_bgcolor =3D function(c)=0A= {=0A= if(!c || c=3D=3D'#')=0A= c =3D 'transparent';=0A= =0A= this.css.backgroundColor =3D c;=0A= }=0A= =0A= =0A= // set the opacity of a layer to the given ammount (in %)=0A= this.set_opacity =3D function(v)=0A= {=0A= if(!bw.opacity)=0A= return;=0A= =0A= var op =3D v<=3D1 ? Math.round(v*100) : parseInt(v);=0A= =0A= if(bw.ie)=0A= this.css.filter =3D 'alpha(opacity:'+op+')';=0A= else if(bw.safari)=0A= {=0A= this.css.opacity =3D op/100;=0A= this.css.KhtmlOpacity =3D op/100;=0A= }=0A= else if(bw.mz)=0A= this.css.MozOpacity =3D op/100;=0A= }=0A= }=0A= =0A= =0A= // check if input is a valid email address=0A= // By Cal Henderson =0A= // http://code.iamcal.com/php/rfc822/=0A= function rcube_check_email(input, inline)=0A= {=0A= if (input && window.RegExp)=0A= {=0A= var qtext =3D '[^\\x0d\\x22\\x5c\\x80-\\xff]';=0A= var dtext =3D '[^\\x0d\\x5b-\\x5d\\x80-\\xff]';=0A= var atom =3D = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\= x7f-\\xff]+';=0A= var quoted_pair =3D '\\x5c[\\x00-\\x7f]';=0A= var domain_literal =3D '\\x5b('+dtext+'|'+quoted_pair+')*\\x5d';=0A= var quoted_string =3D '\\x22('+qtext+'|'+quoted_pair+')*\\x22';=0A= var sub_domain =3D '('+atom+'|'+domain_literal+')';=0A= var word =3D '('+atom+'|'+quoted_string+')';=0A= var domain =3D sub_domain+'(\\x2e'+sub_domain+')*';=0A= var local_part =3D word+'(\\x2e'+word+')*';=0A= var addr_spec =3D local_part+'\\x40'+domain;=0A= var delim =3D '[,;\s\n]';=0A= var reg1 =3D inline ? new = RegExp('(^|<|'+delim+')'+addr_spec+'($|>|'+delim+')', 'i') : new = RegExp('^'+addr_spec+'$', 'i');=0A= return reg1.test(input) ? true : false;=0A= }=0A= return false;=0A= }=0A= =0A= =0A= // find a value in a specific array and returns the index=0A= function find_in_array()=0A= {=0A= var args =3D find_in_array.arguments;=0A= if(!args.length) return -1;=0A= =0A= var haystack =3D typeof(args[0])=3D=3D'object' ? args[0] : = args.length>1 && typeof(args[1])=3D=3D'object' ? args[1] : new Array();=0A= var needle =3D typeof(args[0])!=3D'object' ? args[0] : args.length>1 = && typeof(args[1])!=3D'object' ? args[1] : '';=0A= var nocase =3D args.length=3D=3D3 ? args[2] : false;=0A= =0A= if(!haystack.length) return -1;=0A= =0A= for(var i=3D0; i = |=0A= | Charles McNulty = |=0A= = +-----------------------------------------------------------------------+=0A= | Requires: common.js, list.js = |=0A= = +-----------------------------------------------------------------------+=0A= =0A= $Id: app.js 1170 2008-03-03 09:06:53Z thomasb $=0A= */=0A= =0A= =0A= var rcube_webmail_client;=0A= =0A= function rcube_webmail()=0A= {=0A= this.env =3D new Object();=0A= this.labels =3D new Object();=0A= this.buttons =3D new Object();=0A= this.gui_objects =3D new Object();=0A= this.commands =3D new Object();=0A= this.onloads =3D new Array();=0A= =0A= // create protected reference to myself=0A= rcube_webmail_client =3D this;=0A= this.ref =3D 'rcube_webmail_client';=0A= var ref =3D this;=0A= =0A= // webmail client settings=0A= this.dblclick_time =3D 500;=0A= this.message_time =3D 3000;=0A= =0A= this.identifier_expr =3D new RegExp('[^0-9a-z\-_]', 'gi');=0A= =0A= // mimetypes supported by the browser (default settings)=0A= this.mimetypes =3D new Array('text/plain', 'text/html', 'text/xml',=0A= 'image/jpeg', 'image/gif', 'image/png',=0A= 'application/x-javascript', = 'application/pdf',=0A= 'application/x-shockwave-flash');=0A= =0A= // default environment vars=0A= this.env.keep_alive =3D 60; // seconds=0A= this.env.request_timeout =3D 180; // seconds=0A= this.env.draft_autosave =3D 0; // seconds=0A= this.env.comm_path =3D './';=0A= this.env.bin_path =3D './bin/';=0A= this.env.blankpage =3D 'program/blank.gif';=0A= =0A= =0A= // set environment variable(s)=0A= this.set_env =3D function(p, value)=0A= {=0A= if (p !=3D null && typeof(p) =3D=3D 'object' && !value)=0A= for (var n in p)=0A= this.env[n] =3D p[n];=0A= else=0A= this.env[p] =3D value;=0A= };=0A= =0A= =0A= // add a localized label to the client environment=0A= this.add_label =3D function(key, value)=0A= {=0A= this.labels[key] =3D value;=0A= };=0A= =0A= =0A= // add a button to the button list=0A= this.register_button =3D function(command, id, type, act, sel, over)=0A= {=0A= if (!this.buttons[command])=0A= this.buttons[command] =3D new Array();=0A= =0A= var button_prop =3D {id:id, type:type};=0A= if (act) button_prop.act =3D act;=0A= if (sel) button_prop.sel =3D sel;=0A= if (over) button_prop.over =3D over;=0A= =0A= this.buttons[command][this.buttons[command].length] =3D button_prop; = =0A= };=0A= =0A= // register a specific gui object=0A= this.gui_object =3D function(name, id)=0A= {=0A= this.gui_objects[name] =3D id;=0A= };=0A= =0A= // execute the given script on load=0A= this.add_onload =3D function(f)=0A= {=0A= this.onloads[this.onloads.length] =3D f;=0A= };=0A= =0A= // initialize webmail client=0A= this.init =3D function()=0A= {=0A= var p =3D this;=0A= this.task =3D this.env.task;=0A= =0A= // check browser=0A= if (!bw.dom || !bw.xmlhttp_test())=0A= {=0A= this.goto_url('error', '_code=3D0x199');=0A= return;=0A= }=0A= =0A= // find all registered gui objects=0A= for (var n in this.gui_objects)=0A= this.gui_objects[n] =3D rcube_find_object(this.gui_objects[n]);=0A= =0A= // tell parent window that this frame is loaded=0A= if (this.env.framed && parent.rcmail && parent.rcmail.set_busy)=0A= parent.rcmail.set_busy(false);=0A= =0A= // enable general commands=0A= this.enable_command('logout', 'mail', 'addressbook', 'settings', = true);=0A= =0A= switch (this.task)=0A= {=0A= case 'mail':=0A= if (this.gui_objects.messagelist)=0A= {=0A= this.message_list =3D new = rcube_list_widget(this.gui_objects.messagelist, {multiselect:true, = draggable:true, keyboard:true, dblclick_time:this.dblclick_time});=0A= this.message_list.row_init =3D function(o){ = p.init_message_row(o); };=0A= this.message_list.addEventListener('dblclick', function(o){ = p.msglist_dbl_click(o); });=0A= this.message_list.addEventListener('keypress', function(o){ = p.msglist_keypress(o); });=0A= this.message_list.addEventListener('select', function(o){ = p.msglist_select(o); });=0A= this.message_list.addEventListener('dragstart', function(o){ = p.drag_active =3D true; });=0A= this.message_list.addEventListener('dragend', function(o){ = p.drag_active =3D false; });=0A= =0A= this.message_list.init();=0A= this.enable_command('toggle_status', true);=0A= =0A= if (this.gui_objects.mailcontframe)=0A= {=0A= this.gui_objects.mailcontframe.onmousedown =3D function(e){ = return p.click_on_list(e); };=0A= document.onmouseup =3D function(e){ return = p.doc_mouse_up(e); };=0A= }=0A= else=0A= this.message_list.focus();=0A= }=0A= =0A= if (this.env.coltypes)=0A= this.set_message_coltypes(this.env.coltypes);=0A= =0A= // enable mail commands=0A= this.enable_command('list', 'checkmail', 'compose', = 'add-contact', 'search', 'reset-search', true);=0A= =0A= if (this.env.search_text !=3D null && = document.getElementById('quicksearchbox') !=3D null)=0A= document.getElementById('quicksearchbox').value =3D = this.env.search_text;=0A= =0A= if (this.env.action=3D=3D'show' || = this.env.action=3D=3D'preview')=0A= {=0A= this.enable_command('show', 'reply', 'reply-all', 'forward', = 'moveto', 'delete', 'mark', 'viewsource', 'print', 'load-attachment', = true);=0A= if (this.env.next_uid)=0A= {=0A= this.enable_command('nextmessage', true);=0A= this.enable_command('lastmessage', true);=0A= }=0A= if (this.env.prev_uid)=0A= {=0A= this.enable_command('previousmessage', true);=0A= this.enable_command('firstmessage', true);=0A= }=0A= }=0A= =0A= if (this.env.trash_mailbox && this.env.mailbox !=3D = this.env.trash_mailbox)=0A= this.set_alttext('delete', 'movemessagetotrash');=0A= =0A= // make preview/message frame visible=0A= if (this.env.action =3D=3D 'preview' && this.env.framed && = parent.rcmail)=0A= {=0A= this.enable_command('compose', 'add-contact', false);=0A= parent.rcmail.show_contentframe(true);=0A= parent.rcmail.mark_message('read', this.env.uid);=0A= }=0A= =0A= if ((this.env.action=3D=3D'show' || = this.env.action=3D=3D'preview') && this.env.blockedobjects)=0A= {=0A= if (this.gui_objects.remoteobjectsmsg)=0A= this.gui_objects.remoteobjectsmsg.style.display =3D 'block';=0A= this.enable_command('load-images', true);=0A= }=0A= =0A= if (this.env.action=3D=3D'compose')=0A= {=0A= this.enable_command('add-attachment', 'send-attachment', = 'remove-attachment', 'send', true);=0A= if (this.env.spellcheck)=0A= {=0A= this.env.spellcheck.spelling_state_observer =3D function(s){ = ref.set_spellcheck_state(s); };=0A= this.set_spellcheck_state('ready');=0A= }=0A= if (this.env.drafts_mailbox)=0A= this.enable_command('savedraft', true);=0A= }=0A= =0A= if (this.env.messagecount)=0A= this.enable_command('select-all', 'select-none', 'sort', = 'expunge', true);=0A= =0A= if (this.env.messagecount && = (this.env.mailbox=3D=3Dthis.env.trash_mailbox || = this.env.mailbox=3D=3Dthis.env.junk_mailbox))=0A= this.enable_command('purge', true);=0A= =0A= this.set_page_buttons();=0A= =0A= // focus main window=0A= if (this.env.framed && window.parent)=0A= window.parent.focus();=0A= else=0A= window.focus();=0A= =0A= // init message compose form=0A= if (this.env.action=3D=3D'compose')=0A= this.init_messageform();=0A= =0A= // show printing dialog=0A= if (this.env.action=3D=3D'print')=0A= window.print();=0A= =0A= // get unread count for each mailbox=0A= if (this.gui_objects.mailboxlist)=0A= {=0A= this.gui_objects.folderlist =3D this.gui_objects.mailboxlist;=0A= this.http_request('getunread', '');=0A= }=0A= =0A= // ask user to send MDN=0A= if (this.env.mdn_request && this.env.uid)=0A= {=0A= var mdnurl =3D = '_uid=3D'+this.env.uid+'&_mbox=3D'+urlencode(this.env.mailbox);=0A= if (confirm(this.get_label('mdnrequest')))=0A= this.http_post('sendmdn', mdnurl);=0A= else=0A= this.http_post('mark', mdnurl+'&_flag=3Dmdnsent');=0A= }=0A= =0A= break;=0A= =0A= =0A= case 'addressbook':=0A= if (this.gui_objects.contactslist)=0A= {=0A= this.contact_list =3D new = rcube_list_widget(this.gui_objects.contactslist, {multiselect:true, = draggable:true, keyboard:true});=0A= this.contact_list.addEventListener('keypress', function(o){ = p.contactlist_keypress(o); });=0A= this.contact_list.addEventListener('select', function(o){ = p.contactlist_select(o); });=0A= this.contact_list.addEventListener('dragstart', function(o){ = p.drag_active =3D true; });=0A= this.contact_list.addEventListener('dragend', function(o){ = p.drag_active =3D false; });=0A= this.contact_list.init();=0A= =0A= if (this.env.cid)=0A= this.contact_list.highlight_row(this.env.cid);=0A= =0A= if (this.gui_objects.contactslist.parentNode)=0A= {=0A= this.gui_objects.contactslist.parentNode.onmousedown =3D = function(e){ return p.click_on_list(e); };=0A= document.onmouseup =3D function(e){ return = p.doc_mouse_up(e); };=0A= }=0A= else=0A= this.contact_list.focus();=0A= }=0A= =0A= this.set_page_buttons();=0A= =0A= if (this.env.address_sources && = !this.env.address_sources[this.env.source].readonly)=0A= this.enable_command('add', true);=0A= =0A= if (this.env.cid)=0A= this.enable_command('show', 'edit', true);=0A= =0A= if ((this.env.action=3D=3D'add' || this.env.action=3D=3D'edit') = && this.gui_objects.editform)=0A= this.enable_command('save', true);=0A= else=0A= this.enable_command('search', 'reset-search', 'moveto', true);=0A= =0A= this.enable_command('list', true);=0A= break;=0A= =0A= =0A= case 'settings':=0A= this.enable_command('preferences', 'identities', 'save', = 'folders', true);=0A= =0A= if (this.env.action=3D=3D'identities' || = this.env.action=3D=3D'edit-identity' || = this.env.action=3D=3D'add-identity')=0A= this.enable_command('edit', 'add', 'delete', true);=0A= =0A= if (this.env.action=3D=3D'edit-identity' || = this.env.action=3D=3D'add-identity')=0A= this.enable_command('save', true);=0A= =0A= if (this.env.action=3D=3D'folders')=0A= this.enable_command('subscribe', 'unsubscribe', = 'create-folder', 'rename-folder', 'delete-folder', true);=0A= =0A= if (this.gui_objects.identitieslist)=0A= {=0A= this.identity_list =3D new = rcube_list_widget(this.gui_objects.identitieslist, {multiselect:false, = draggable:false, keyboard:false});=0A= this.identity_list.addEventListener('select', function(o){ = p.identity_select(o); });=0A= this.identity_list.init();=0A= this.identity_list.focus();=0A= =0A= if (this.env.iid)=0A= this.identity_list.highlight_row(this.env.iid);=0A= }=0A= =0A= if (this.gui_objects.subscriptionlist)=0A= this.init_subscription_list();=0A= =0A= break;=0A= =0A= case 'login':=0A= var input_user =3D rcube_find_object('rcmloginuser');=0A= var input_pass =3D rcube_find_object('rcmloginpwd');=0A= if (input_user)=0A= input_user.onkeypress =3D function(e){ return = rcmail.login_user_keypress(e); };=0A= if (input_user && input_user.value=3D=3D'')=0A= input_user.focus();=0A= else if (input_pass)=0A= input_pass.focus();=0A= =0A= this.enable_command('login', true);=0A= break;=0A= =0A= default:=0A= break;=0A= }=0A= =0A= =0A= // enable basic commands=0A= this.enable_command('logout', true);=0A= =0A= // flag object as complete=0A= this.loaded =3D true;=0A= =0A= // show message=0A= if (this.pending_message)=0A= this.display_message(this.pending_message[0], = this.pending_message[1]);=0A= =0A= // start keep-alive interval=0A= this.start_keepalive();=0A= =0A= =0A= // execute all foreign onload scripts=0A= for (var i=3D0; i=3D0)=0A= {=0A= if (props.mimetype =3D=3D 'text/html')=0A= qstring +=3D '&_safe=3D1';=0A= this.attachment_win =3D = window.open(this.env.comm_path+'&_action=3Dget&'+qstring+'&_frame=3D1', = 'rcubemailattachment');=0A= if (this.attachment_win)=0A= {=0A= setTimeout(function(){ ref.attachment_win.focus(); }, 10);=0A= break;=0A= }=0A= }=0A= =0A= this.goto_url('get', qstring+'&_download=3D1', false);=0A= break;=0A= =0A= case 'select-all':=0A= this.message_list.select_all(props);=0A= break;=0A= =0A= case 'select-none':=0A= this.message_list.clear_selection();=0A= break;=0A= =0A= case 'nextmessage':=0A= if (this.env.next_uid)=0A= this.show_message(this.env.next_uid, false, = this.env.action=3D=3D'preview');=0A= break;=0A= =0A= case 'lastmessage':=0A= if (this.env.last_uid)=0A= this.show_message(this.env.last_uid);=0A= break;=0A= =0A= case 'previousmessage':=0A= if (this.env.prev_uid)=0A= this.show_message(this.env.prev_uid, false, = this.env.action=3D=3D'preview');=0A= break;=0A= =0A= case 'firstmessage':=0A= if (this.env.first_uid)=0A= this.show_message(this.env.first_uid);=0A= break;=0A= =0A= case 'checkmail':=0A= this.check_for_recent();=0A= break;=0A= =0A= case 'compose':=0A= var url =3D this.env.comm_path+'&_action=3Dcompose';=0A= =0A= if (this.task=3D=3D'mail' && = this.env.mailbox=3D=3Dthis.env.drafts_mailbox)=0A= {=0A= var uid;=0A= if (uid =3D this.get_single_uid())=0A= url +=3D = '&_draft_uid=3D'+uid+'&_mbox=3D'+urlencode(this.env.mailbox);=0A= }=0A= // modify url if we're in addressbook=0A= else if (this.task=3D=3D'addressbook')=0A= {=0A= // switch to mail compose step directly=0A= if (props && props.indexOf('@') > 0)=0A= {=0A= url =3D this.get_task_url('mail', url);=0A= this.redirect(url + '&_to=3D'+urlencode(props));=0A= break;=0A= }=0A= =0A= // use contact_id passed as command parameter=0A= var a_cids =3D new Array();=0A= if (props)=0A= a_cids[a_cids.length] =3D props;=0A= // get selected contacts=0A= else if (this.contact_list)=0A= {=0A= var selection =3D this.contact_list.get_selection();=0A= for (var n=3D0; n 0 ? true : false));=0A= }=0A= else=0A= {=0A= this.enable_command('show', 'reply', 'reply-all', 'forward', = 'print', selected);=0A= this.enable_command('delete', 'moveto', 'mark', = (list.selection.length > 0 ? true : false));=0A= }=0A= =0A= // start timer for message preview (wait for double click)=0A= if (selected && this.env.contentframe)=0A= this.preview_timer =3D setTimeout(function(){ = ref.msglist_get_preview(); }, this.dblclick_time + 10);=0A= else if (this.env.contentframe)=0A= this.show_contentframe(false);=0A= };=0A= =0A= =0A= this.msglist_dbl_click =3D function(list)=0A= {=0A= if (this.preview_timer)=0A= clearTimeout(this.preview_timer);=0A= =0A= var uid =3D list.get_single_selection();=0A= if (uid && this.env.mailbox =3D=3D this.env.drafts_mailbox)=0A= this.goto_url('compose', = '_draft_uid=3D'+uid+'&_mbox=3D'+urlencode(this.env.mailbox), true);=0A= else if (uid)=0A= this.show_message(uid, false, false);=0A= };=0A= =0A= =0A= this.msglist_keypress =3D function(list)=0A= {=0A= if (list.key_pressed =3D=3D list.ENTER_KEY)=0A= this.command('show');=0A= else if (list.key_pressed =3D=3D list.DELETE_KEY)=0A= this.command('delete');=0A= else=0A= list.shiftkey =3D false;=0A= };=0A= =0A= =0A= this.msglist_get_preview =3D function()=0A= {=0A= var uid =3D this.get_single_uid();=0A= if (uid && this.env.contentframe && !this.drag_active)=0A= this.show_message(uid, false, true);=0A= else if (this.env.contentframe)=0A= this.show_contentframe(false);=0A= };=0A= =0A= =0A= this.check_droptarget =3D function(id)=0A= {=0A= if (this.task =3D=3D 'mail')=0A= return (id !=3D this.env.mailbox);=0A= else if (this.task =3D=3D 'addressbook')=0A= return (id !=3D this.env.source && this.env.address_sources[id] && = !this.env.address_sources[id].readonly);=0A= else if (this.task =3D=3D 'settings')=0A= return (id !=3D this.env.folder);=0A= };=0A= =0A= =0A= /*********************************************************/=0A= /********* (message) list functionality *********/=0A= /*********************************************************/=0A= =0A= =0A= // when user doble-clicks on a row=0A= this.show_message =3D function(id, safe, preview)=0A= {=0A= var add_url =3D '';=0A= var action =3D preview ? 'preview': 'show';=0A= var target =3D window;=0A= if (preview && this.env.contentframe && window.frames && = window.frames[this.env.contentframe])=0A= {=0A= target =3D window.frames[this.env.contentframe];=0A= add_url =3D '&_framed=3D1';=0A= }=0A= =0A= if (safe)=0A= add_url =3D '&_safe=3D1';=0A= =0A= // also send search request to get the right messages=0A= if (this.env.search_request)=0A= add_url +=3D '&_search=3D'+this.env.search_request;=0A= =0A= if (id)=0A= {=0A= var url =3D = '&_action=3D'+action+'&_uid=3D'+id+'&_mbox=3D'+urlencode(this.env.mailbox= )+add_url;=0A= if (action =3D=3D 'preview' && = String(target.location.href).indexOf(url) >=3D 0)=0A= this.show_contentframe(true);=0A= else=0A= {=0A= this.set_busy(true, 'loading');=0A= target.location.href =3D this.env.comm_path+url;=0A= }=0A= }=0A= };=0A= =0A= =0A= this.show_contentframe =3D function(show)=0A= {=0A= var frm;=0A= if (this.env.contentframe && (frm =3D = rcube_find_object(this.env.contentframe)))=0A= {=0A= if (!show && window.frames[this.env.contentframe] && = frames[this.env.contentframe].location.href.indexOf(this.env.blankpage)<0= )=0A= frames[this.env.contentframe].location.href =3D = this.env.blankpage;=0A= if (!bw.safari)=0A= frm.style.display =3D show ? 'block' : 'none';=0A= }=0A= =0A= if (!show && this.busy)=0A= this.set_busy(false);=0A= };=0A= =0A= =0A= // list a specific page=0A= this.list_page =3D function(page)=0A= {=0A= if (page=3D=3D'next')=0A= page =3D this.env.current_page+1;=0A= if (page=3D=3D'last')=0A= page =3D this.env.pagecount;=0A= if (page=3D=3D'prev' && this.env.current_page>1)=0A= page =3D this.env.current_page-1;=0A= if (page=3D=3D'first' && this.env.current_page>1)=0A= page =3D 1;=0A= =0A= if (page > 0 && page <=3D this.env.pagecount)=0A= {=0A= this.env.current_page =3D page;=0A= =0A= if (this.task=3D=3D'mail')=0A= this.list_mailbox(this.env.mailbox, page);=0A= else if (this.task=3D=3D'addressbook')=0A= this.list_contacts(this.env.source, page);=0A= }=0A= };=0A= =0A= =0A= // list messages of a specific mailbox=0A= this.list_mailbox =3D function(mbox, page, sort)=0A= {=0A= this.last_selected =3D 0;=0A= var add_url =3D '';=0A= var target =3D window;=0A= =0A= if (!mbox)=0A= mbox =3D this.env.mailbox;=0A= =0A= // add sort to url if set=0A= if (sort)=0A= add_url +=3D '&_sort=3D' + sort;=0A= =0A= // also send search request to get the right messages=0A= if (this.env.search_request)=0A= add_url +=3D '&_search=3D'+this.env.search_request;=0A= =0A= // set page=3D1 if changeing to another mailbox=0A= if (!page && mbox !=3D this.env.mailbox)=0A= {=0A= page =3D 1;=0A= this.env.current_page =3D page;=0A= if (this.message_list)=0A= this.message_list.clear_selection();=0A= this.show_contentframe(false);=0A= }=0A= =0A= if (mbox !=3D this.env.mailbox || (mbox =3D=3D this.env.mailbox && = !page && !sort))=0A= add_url +=3D '&_refresh=3D1';=0A= =0A= this.select_folder(mbox, this.env.mailbox);=0A= this.env.mailbox =3D mbox;=0A= =0A= // load message list remotely=0A= if (this.gui_objects.messagelist)=0A= {=0A= this.list_mailbox_remote(mbox, page, add_url);=0A= return;=0A= }=0A= =0A= if (this.env.contentframe && window.frames && = window.frames[this.env.contentframe])=0A= {=0A= target =3D window.frames[this.env.contentframe];=0A= add_url +=3D '&_framed=3D1';=0A= }=0A= =0A= // load message list to target frame/window=0A= if (mbox)=0A= {=0A= this.set_busy(true, 'loading');=0A= target.location.href =3D = this.env.comm_path+'&_mbox=3D'+urlencode(mbox)+(page ? '&_page=3D'+page = : '')+add_url;=0A= }=0A= };=0A= =0A= =0A= // send remote request to load message list=0A= this.list_mailbox_remote =3D function(mbox, page, add_url)=0A= {=0A= // clear message list first=0A= this.message_list.clear();=0A= =0A= // send request to server=0A= var url =3D '_mbox=3D'+urlencode(mbox)+(page ? '&_page=3D'+page : = '');=0A= this.set_busy(true, 'loading');=0A= this.http_request('list', url+add_url, true);=0A= };=0A= =0A= =0A= this.expunge_mailbox =3D function(mbox)=0A= {=0A= var lock =3D false;=0A= var add_url =3D '';=0A= =0A= // lock interface if it's the active mailbox=0A= if (mbox =3D=3D this.env.mailbox)=0A= {=0A= lock =3D true;=0A= this.set_busy(true, 'loading');=0A= add_url =3D '&_reload=3D1';=0A= }=0A= =0A= // send request to server=0A= var url =3D '_mbox=3D'+urlencode(mbox);=0A= this.http_post('expunge', url+add_url, lock);=0A= };=0A= =0A= =0A= this.purge_mailbox =3D function(mbox)=0A= {=0A= var lock =3D false;=0A= var add_url =3D '';=0A= =0A= if (!confirm(this.get_label('purgefolderconfirm')))=0A= return false;=0A= =0A= // lock interface if it's the active mailbox=0A= if (mbox =3D=3D this.env.mailbox)=0A= {=0A= lock =3D true;=0A= this.set_busy(true, 'loading');=0A= add_url =3D '&_reload=3D1';=0A= }=0A= =0A= // send request to server=0A= var url =3D '_mbox=3D'+urlencode(mbox);=0A= this.http_post('purge', url+add_url, lock);=0A= return true;=0A= };=0A= =0A= =0A= // move selected messages to the specified mailbox=0A= this.move_messages =3D function(mbox)=0A= {=0A= // exit if current or no mailbox specified or if selection is empty=0A= if (!mbox || mbox =3D=3D this.env.mailbox || (!this.env.uid && = (!this.message_list || !this.message_list.get_selection().length)))=0A= return;=0A= =0A= var lock =3D false;=0A= var add_url =3D = '&_target_mbox=3D'+urlencode(mbox)+'&_from=3D'+(this.env.action ? = this.env.action : '');=0A= =0A= // show wait message=0A= if (this.env.action=3D=3D'show')=0A= {=0A= lock =3D true;=0A= this.set_busy(true, 'movingmessage');=0A= }=0A= else=0A= this.show_contentframe(false);=0A= =0A= // Hide message command buttons until a message is selected=0A= this.enable_command('reply', 'reply-all', 'forward', 'delete', = 'mark', 'print', false);=0A= =0A= this._with_selected_messages('moveto', lock, add_url);=0A= };=0A= =0A= // delete selected messages from the current mailbox=0A= this.delete_messages =3D function()=0A= {=0A= var selection =3D this.message_list ? = this.message_list.get_selection() : new Array();=0A= =0A= // exit if no mailbox specified or if selection is empty=0A= if (!this.env.uid && !selection.length)=0A= return;=0A= =0A= // if there is a trash mailbox defined and we're not currently in it:=0A= if (this.env.trash_mailbox && String(this.env.mailbox).toLowerCase() = !=3D String(this.env.trash_mailbox).toLowerCase())=0A= {=0A= // if shift was pressed delete it immediately=0A= if (this.message_list && this.message_list.shiftkey)=0A= {=0A= if (confirm(this.get_label('deletemessagesconfirm')))=0A= this.permanently_remove_messages();=0A= }=0A= else=0A= this.move_messages(this.env.trash_mailbox);=0A= }=0A= // if there is a trash mailbox defined but we *are* in it:=0A= else if (this.env.trash_mailbox && = String(this.env.mailbox).toLowerCase() =3D=3D = String(this.env.trash_mailbox).toLowerCase())=0A= this.permanently_remove_messages();=0A= // if there isn't a defined trash mailbox and the config is set to = flag for deletion=0A= else if (!this.env.trash_mailbox && this.env.flag_for_deletion)=0A= {=0A= this.mark_message('delete');=0A= if(this.env.action=3D=3D"show")=0A= this.command('nextmessage','',this);=0A= else if (selection.length =3D=3D 1)=0A= this.message_list.select_next();=0A= }=0A= // if there isn't a defined trash mailbox and the config is set NOT = to flag for deletion=0A= else if (!this.env.trash_mailbox) =0A= this.permanently_remove_messages();=0A= };=0A= =0A= =0A= // delete the selected messages permanently=0A= this.permanently_remove_messages =3D function()=0A= {=0A= // exit if no mailbox specified or if selection is empty=0A= if (!this.env.uid && (!this.message_list || = !this.message_list.get_selection().length))=0A= return;=0A= =0A= this.show_contentframe(false);=0A= this._with_selected_messages('delete', false, = '&_from=3D'+(this.env.action ? this.env.action : ''));=0A= };=0A= =0A= // Send a specifc request with UIDs of all selected messages=0A= // @private=0A= this._with_selected_messages =3D function(action, lock, add_url)=0A= {=0A= var a_uids =3D new Array();=0A= if (this.env.uid)=0A= a_uids[a_uids.length] =3D this.env.uid;=0A= else=0A= {=0A= var selection =3D this.message_list.get_selection();=0A= var id;=0A= for (var n=3D0; n 0)=0A= {=0A= rows[uid].classname =3D = rows[uid].classname.replace(/\s*deleted/, '');=0A= this.set_classname(rows[uid].obj, 'deleted', false);=0A= }=0A= if (rows[uid].unread && this.env.unreadicon)=0A= icn_src =3D this.env.unreadicon;=0A= else if (rows[uid].replied && this.env.repliedicon)=0A= icn_src =3D this.env.repliedicon;=0A= else if (this.env.messageicon)=0A= icn_src =3D this.env.messageicon;=0A= if (rows[uid].icon && icn_src)=0A= rows[uid].icon.src =3D icn_src;=0A= }=0A= }=0A= =0A= this.http_post('mark', = '_uid=3D'+a_uids.join(',')+'&_flag=3Dundelete');=0A= return true;=0A= };=0A= =0A= =0A= this.flag_as_deleted =3D function(a_uids)=0A= {=0A= // if deleting message from "view message" don't bother with delete = icon=0A= if (this.env.action =3D=3D "show")=0A= return false;=0A= =0A= var rows =3D this.message_list.rows;=0A= for (var i=3D0; i=3D0)=0A= message =3D message.substring(0, p-1) + = message.substring(p+sig.length, message.length);=0A= }=0A= =0A= // add the new signature string=0A= if (this.env.signatures && this.env.signatures[id])=0A= {=0A= sig =3D this.env.signatures[id]['text'];=0A= if (this.env.signatures[id]['is_html'])=0A= {=0A= sig =3D this.env.signatures[id]['plain_text'];=0A= }=0A= if (sig.indexOf('-- ')!=3D0)=0A= sig =3D '-- \n'+sig;=0A= message +=3D '\n'+sig;=0A= }=0A= }=0A= else=0A= {=0A= var eid =3D tinyMCE.getEditorId('_message');=0A= // editor is a TinyMCE_Control object=0A= var editor =3D tinyMCE.getInstanceById(eid);=0A= // if this is null, we should exit=0A= if (editor =3D=3D null) {=0A= return false;=0A= }=0A= var msgDoc =3D editor.getDoc();=0A= var msgBody =3D msgDoc.body;=0A= =0A= if (this.env.signatures && this.env.signatures[id])=0A= {=0A= // Append the signature as a span within the body=0A= var sigElem =3D msgDoc.getElementById("_rc_sig");=0A= if (!sigElem)=0A= {=0A= sigElem =3D msgDoc.createElement("span");=0A= sigElem.setAttribute("id", "_rc_sig");=0A= msgBody.appendChild(sigElem);=0A= }=0A= if (this.env.signatures[id]['is_html'])=0A= {=0A= sigElem.innerHTML =3D this.env.signatures[id]['text'];=0A= }=0A= else=0A= {=0A= sigElem.innerHTML =3D '
' + =
this.env.signatures[id]['text'] + '
';=0A= }=0A= }=0A= }=0A= =0A= if (input_message)=0A= input_message.value =3D message;=0A= =0A= this.env.identity =3D id;=0A= return true;=0A= };=0A= =0A= =0A= this.show_attachment_form =3D function(a)=0A= {=0A= if (!this.gui_objects.uploadbox)=0A= return false;=0A= =0A= var elm, list;=0A= if (elm =3D this.gui_objects.uploadbox)=0A= {=0A= if (a && (list =3D this.gui_objects.attachmentlist))=0A= {=0A= var pos =3D rcube_get_object_pos(list);=0A= var left =3D pos.x;=0A= var top =3D pos.y + list.offsetHeight + 10;=0A= =0A= elm.style.top =3D top+'px';=0A= elm.style.left =3D left+'px';=0A= }=0A= =0A= elm.style.visibility =3D a ? 'visible' : 'hidden';=0A= }=0A= =0A= // clear upload form=0A= try {=0A= if (!a && this.gui_objects.attachmentform !=3D = this.gui_objects.messageform)=0A= this.gui_objects.attachmentform.reset();=0A= }=0A= catch(e){} // ignore errors=0A= =0A= return true; =0A= };=0A= =0A= =0A= // upload attachment file=0A= this.upload_file =3D function(form)=0A= {=0A= if (!form)=0A= return false;=0A= =0A= // get file input fields=0A= var send =3D false;=0A= for (var n=3D0; n